SQL Server,如何将默认排序规则设置为unicode?

时间:2012-07-03 13:52:16

标签: sql sql-server unicode encoding

我有一个WPF + WCF应用程序,现在已经运行了2年,但现在他们有一个需求:他们想要在数据库中输入一些数据,这些数据不在欧洲字母表中(例如西里尔字母)。 / p>

问题是数据库作为整理设置为Latin1_General_CI_AS_WS,当我在其中存储数据(例如вмешательство)并检索它们时,我得到了一些“??????”相反(当进入SQL Server Management工作室时)。

应用程序的其余部分已经知道使用其他类型的字母表(不是为了阅读方向,而是我的直接问题)。

那么如何在现有数据库中将排序规则设置为unicode? SQL Server管理工作室中的归类字段为灰色。

我正在使用EntityFramework进行与数据库的所有通信,我也得到了那些“????”如果我检索任何字段。

1 个答案:

答案 0 :(得分:13)

您的问题不是整理,而是数据类型。

如评论中所述,您使用的是varchar(x)text。这些类型不存储unicode数据。您需要使用nvarchar(x)ntext代替。 (如果您使用的是SQL 2005或更高版本,则应使用nvarchar(MAX)代替ntext