SQL Server 为某些 unicode 字符返回问号 [英] SQL Server returns question mark for some unicode chars

查看:45
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆