2

我有一个 WPF+WCF 应用程序,现在运行良好 2 年,但现在他们有一个需求:他们想在数据库中输入一些数据,而不是欧洲字母表(例如西里尔字母)。

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

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

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

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

4

1 回答 1

13

您的问题不是排序规则,而是数据类型。

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

于 2012-07-03T14:15:56.170 回答