SQL Server 为某些 unicode 字符返回问号 [英] SQL Server returns question mark for some unicode chars
本文介绍了SQL Server 为某些 unicode 字符返回问号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 nvarchar(512)
字段中,如果我像这样存储 unicode 字符:
In a nvarchar(512)
field if i store unicode chars like this:
UPDATE MYTABLE SET UNICODEFIELD = 'TレEホSᅯTル'
当我查询它时我得到
T?E?S?T?
看起来不寻常的"字符不被视为Unicode,我希望?"varchar
的行为,而 nvarchar
应该可以正常工作,我期待
It looks like the "unusual" chars are not considered as unicode, i would expect the "?" behavior in case of varchar
, while with nvarchar
it should work fine, i am expecting
TレEホSᅯTル
作为输出,而不是
T?E?S?T?
有人对此有什么想法吗?
Does anyone have an idea about this?
推荐答案
因为您使用的是 varchar
,而不是 nvarchar
.'TレEホSᅯTル'
= 'T?E?S?T?'
因为像 レ
这样的字符不能存储在 varchar
中.
Because you're using a varchar
, not an nvarchar
. 'TレEホSᅯTル'
= 'T?E?S?T?'
as characters like レ
can't be stored in a varchar
.
使用文字 nvarchar
:
UPDATE MYTABLE SET UNICODEFIELD = N'TレEホSᅯTル';
这篇关于SQL Server 为某些 unicode 字符返回问号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文