SQL Server中的多语言支持

时间:2014-05-06 11:09:59

标签: sql-server internationalization multilingual collation

我正在寻找是否可以将具有各种字符集(例如拉丁语和日语字母)的多种语言的字符存储到SQL Server 2008/12数据库的VARCHAR列中。我在sql server中读到了collat​​ions的概念。我无法将数据类型更改为NVARCHAR。是否有模仿Unicode字符集的代码页?是否正确地说VARCHAR类型的列中的数据将按照排序规则中指定的代码页编码?另外,系统如何将字符从一个代码页映射到另一个代码页?

1 个答案:

答案 0 :(得分:1)

你必须使用nvarchar数据类型来存储占用多个字节的字符(是的,我知道你已经说过你不能改变它,只是谈论选项)。

如果一个字节足够,我建议使用不同的列,并为每种语言使用适当的排序规则。整理不仅影响比较和排序,还影响信息的存储和可能的转换方式(当它发生时这不是一件好事。)

如果您不需要本地化排序功能,请使用binary归类。

MSDN上还有一个使用UTF-8 UDT的示例:

http://msdn.microsoft.com/en-us/library/ff877964%28v=sql.110%29.aspx