使用Linq将Unicode字符串插入数据库

时间:2012-12-02 22:07:25

标签: linq sql-server-2008 unicode hebrew

当我尝试执行此操作时:

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

我在列中只有问题标记。如果我将其更改为N' some_hebrew_characters' - 那好吧。为什么会这样?我怎样才能将它翻译成Linq?

如何使此表默认将所有数据视为Unicode?我的colum排序规则是Hebrew_CS_AI,服务器是SQL 2008 R2。

谢谢!

--- ---- EDIT

我刚才注意到的事情: 即使我跑这个

SELECT 'some_hebrew_characters'

我在结果网格中得到问号

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

可能这是你的编辑器的默认编码不是unicode。

确保将查询保存为SQL SERVER Management Studio中的unicode文件并重新运行。

我认为如果你通过Linq得到结果那就合适了。

答案 2 :(得分:0)

你需要在''前加上字母N

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

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

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

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