Sql server SQL Server中的多语言支持
我正在寻找是否有可能将字符集变化很大的多种语言(如拉丁语和日语字母)中的字符存储到SQL Server 2008/12 DB中的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数据类型来存储占用多个字节的字符(是的,我知道您说过您不能更改它
VARCHAR
列中。我了解了sql server中排序规则的概念。我无法将数据类型更改为NVARCHAR
。是否有模拟Unicode字符集的代码页?如果说VARCHAR
类型的列中的数据将按照排序规则中指定的代码页进行编码,是否正确?此外,系统如何将字符从一个代码页映射到另一个代码页?您必须使用nvarchar
数据类型来存储占用多个字节的字符(是的,我知道您说过您不能更改它,只是谈论选项)
如果一个字节就足够了,我建议对每种语言使用具有适当排序规则的不同列。排序规则不仅影响比较和排序,还影响信息的存储方式和可能的转换方式(发生这种情况时这不是一件好事)
如果不需要本地化排序功能,请使用binary
排序规则
MSDN上还有一个使用UTF-8 UDT的示例:
如前所述,我无法将数据类型更改为nvarchar为什么不能使用nvarchar?@podiluska需要更改太多表的表结构。我想我的经理不会让我这么做的。