什么是SQL Server的MySQL unicode_ci整理的类比?

时间:2011-02-20 20:26:54

标签: sql sql-server unicode collation

据我所知,在MySQL unicode_ci(特别是utf8_unicode_ci)中,排序规则是为了支持所有字符而不管语言环境。

我需要使用SQL Server 2008 R2实现相同的功能。我的数据库将包含非常不同语言的数据(不限于基于拉丁语的字母表)。我根本不会使用非Unicode字符串。我应该选择什么样的整理?

1 个答案:

答案 0 :(得分:7)

你可以选择Latin1_General_CI_AI

原因是使用NVarchar字段存储unicode数据,SQL Server更灵活,因为它可以混合Varchar(1字节)和NVarchar(2字节)数据。因此,要匹配UTF8,任何排序规则都可以。至于CI - 2008年的每一个排序规则都允许添加CI规范(它是UI中的一个复选框“区分大小写” - 未选中不敏感)。

最后一点和其他一些像宽度只是对SQL Server进行额外调整。

来自http://forums.mysql.com/read.php?103,187048,188748的第2点

  

utf8_unicode_ci适用于所有这些语言:   俄语,保加利亚语,白俄罗斯语,马其顿语,塞尔维亚语和乌克兰语。

如果您需要对特定语言进行排序,语言处理重音的方式不同,则需要特定的字典顺序 - 请参阅此处http://msdn.microsoft.com/en-us/library/ms144250.aspx。否则Latin1_General基于拉丁美洲