1

当我尝试执行此操作时:

INSERT INTO [DB_NAME].[dbo].[Table]
([Column])
VALUES('some_hebrew_characters')

我在列中只得到问号。如果我将其更改为 N'some_hebrew_characters' - 就可以了。为什么会这样?我怎样才能把它翻译成Linq?

如何使此表默认将所有数据视为 Unicode?我的列排序规则是希伯来语_CS_AI,服务器是 SQL 2008 R2。

谢谢!

- -编辑 - -

我刚刚注意到的一件事:即使我运行它

SELECT 'some_hebrew_characters'

我的结果网格中出现问号

4

3 回答 3

0

您是否也忘记将您的列标记为 NVARCHAR ?

于 2012-12-03T09:51:43.643 回答
0

可能那是您的编辑器的默认编码不是 unicode。

可以肯定的是,将您的查询保存为 SQL SERVER Management Studio 中的 unicode 文件并重新运行它。

我认为如果您通过 Linq 获得结果,那将是正确的。

于 2012-12-03T15:20:45.583 回答
0

您需要在 '' 前面加上字母 N

插入包含 unicode 字符的值时,您需要执行以下操作:

 insert into table_name(unicode_field) values (N'会意字')

如果没有 N 前缀,它们将作为 ASCII 字符传递。

此外,请确保您要插入的列支持 unicode 字符 - 即 nchar、nvarchar、ntext。

于 2014-10-20T13:08:13.277 回答