SQL Server多语言数据支持

时间:2010-01-06 23:45:04

标签: sql-server collation

如何设置SQL Server 2005 DBMS,以便可以使用不同语言存储数据?

我的确切问题是:在SQL Server Management Studio中,我正在编写一个包含德语变音符号的插入语句。文本已成功保存,但读取相同的值会导致文本没有变音符号。

考虑到我必须支持4种语言:英语,德语,希腊语和俄语(我不想想我将用俄语发表的文字)。

DBMS现在设置为希腊语排序规则(支持希腊语)。

这会导致任何问题吗?

任何提示??

2 个答案:

答案 0 :(得分:7)

您需要对字符串(http://msdn.microsoft.com/en-us/library/ms186939.aspx)使用nvarchar数据类型,并且还需要在所有unicode字符串前加上N(http://support.microsoft.com/kb/239530)。

  

在SQL Server中处理Unicode字符串常量时,必须在所有Unicode字符串前面加上大写字母N,如SQL Server联机丛书主题“使用Unicode数据”中所述。 “N”前缀代表SQL-92标准中的国家语言,必须为大写。如果不使用N作为Unicode字符串常量的前缀,SQL Server将在使用该字符串之前将其转换为当前数据库的非Unicode代码页。

答案 1 :(得分:2)

你使用的是nvarchar类型(而不是varchar)吗?如果您在同一列中有多个lang,则建议使用。这将使您能够正确存储和检索。

当然,sql server只能在特定列上维护一种排序规则类型,即使该列用于存储多种语言的字符串,因此需要考虑...