2014-05-06 53 views
1

我正在查找是否可以将来自多种语言的字符集(如拉丁语和日语字母表)存储到SQL Server 2008/12 DB中的VARCHAR列中。我阅读了关于sql server中排序规则的概念。我无法将数据类型更改为NVARCHAR。有没有模仿Unicode字符集的代码页?说VARCHAR类型的列中的数据将按照排序规则中指定的代码页进行编码是否正确?另外,系统如何将字符从一个代码页映射到另一个代码页?SQL Server中的多语言支持

+0

前面已经提到,我可以把数据类型不会更改为NVARCHAR – Bazooka

+0

* *为什么不能使用nvarchar的? – podiluska

+0

@podiluska需要更改太多表的表结构。我不认为我的经理会让我这样做。 – Bazooka

回答

1

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

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

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

也有使用UTF-8 UDT MSDN上的样本:

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