什么';s SQL Server';s与MySQL的类似物';s unicode_ci排序规则?
据我所知,在MySQL unicode_ci(尤其是utf8_unicode_ci)中,排序规则意味着支持所有字符,而不考虑语言环境什么';s SQL Server';s与MySQL的类似物';s unicode_ci排序规则?,sql,sql-server,unicode,collation,Sql,Sql Server,Unicode,Collation,据我所知,在MySQL unicode_ci(尤其是utf8_unicode_ci)中,排序规则意味着支持所有字符,而不考虑语言环境 我需要用SQLServer2008R2实现同样的功能。我的数据库将包含不同语言的数据(不限于拉丁字母)。我根本不打算使用非Unicode字符串。我应该选择什么样的排序规则?你最好选择拉丁语1\u General\u CI\u AI 原因是unicode数据是使用NVarchar字段存储的,SQL Server更灵活,因为它可以混合使用Varchar(1字节)和NV
我需要用SQLServer2008R2实现同样的功能。我的数据库将包含不同语言的数据(不限于拉丁字母)。我根本不打算使用非Unicode字符串。我应该选择什么样的排序规则?你最好选择拉丁语1\u General\u CI\u AI 原因是unicode数据是使用NVarchar字段存储的,SQL Server更灵活,因为它可以混合使用Varchar(1字节)和NVarchar(2字节)数据。因此,为了匹配UTF8,任何排序规则都可以。至于CI—2008年的每一个排序规则都允许添加CI规范(它是UI中的一个复选框“区分大小写”-未选中不区分大小写) 最后一位和其他一些(如width)只是SQL Server上的额外调优 第2点从 utf8\u unicode\u ci适用于所有这些语言: 俄罗斯人、保加利亚人、白俄罗斯人、马其顿人、塞尔维亚人和乌克兰人
如果您需要对特定语言进行排序,其中语言处理重音的方式不同,则需要特定的字典顺序-请参阅此处。否则Latin1_General是基于拉丁美洲的“你最好选择Latin1_General_CI_as”-你的意思是,在这种情况下,西里尔语文本将与东欧和西欧拉丁语一样正确地进行校对吗?@ivan即使是MySQL utf8_General_CI也不能处理多种语言。如果您需要特定于语言的排序,您需要选择特定于语言的排序规则。我需要的所有特定于语言的规则是,在西里尔语中,Б在a(等)之后,在拉丁语中,则在a之后。没有人知道,也没有人关心口音是如何分类的——在发音之后还是之前。同时,西里尔字母应该排在拉丁字母之后,数字应该排在拉丁字母之前。我的数据库将在同一列中包含英语、意大利语、德语、希腊语、土耳其语、匈牙利语、挪威语、芬兰语、俄语、保加利亚语、白俄罗斯语、马其顿语、塞尔维亚语、乌克兰语、波兰语、罗马尼亚语、越南语等的值(有时甚至在同一个字符串中)。应用程序逻辑严重依赖SQL(SQL Server不仅用作存储,而且(在存储过程中)比中间件做更多的应用程序工作),因此服务器端编码和排序非常重要。