Sql server SQL Server中的多语言支持

Sql server SQL Server中的多语言支持,sql-server,internationalization,multilingual,collation,Sql Server,Internationalization,Multilingual,Collation,我正在寻找是否有可能将字符集变化很大的多种语言(如拉丁语和日语字母)中的字符存储到SQL Server 2008/12 DB中的VARCHAR列中。我了解了sql server中排序规则的概念。我无法将数据类型更改为NVARCHAR。是否有模拟Unicode字符集的代码页?如果说VARCHAR类型的列中的数据将按照排序规则中指定的代码页进行编码,是否正确?此外,系统如何将字符从一个代码页映射到另一个代码页?您必须使用nvarchar数据类型来存储占用多个字节的字符(是的,我知道您说过您不能更改它

我正在寻找是否有可能将字符集变化很大的多种语言(如拉丁语和日语字母)中的字符存储到SQL Server 2008/12 DB中的
VARCHAR
列中。我了解了sql server中排序规则的概念。我无法将数据类型更改为
NVARCHAR
。是否有模拟Unicode字符集的代码页?如果说
VARCHAR
类型的列中的数据将按照排序规则中指定的代码页进行编码,是否正确?此外,系统如何将字符从一个代码页映射到另一个代码页?

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

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

如果不需要本地化排序功能,请使用
binary
排序规则

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


如前所述,我无法将数据类型更改为nvarchar为什么不能使用nvarchar?@podiluska需要更改太多表的表结构。我想我的经理不会让我这么做的。