0
我更新列泰文字母它显示'???'。我曾尝试将排序规则设置为'Thai_CI_AS',但它仍然无效。任何人都可以帮忙谢谢。SQL Server显示???当更新字段在泰国字母
我更新列泰文字母它显示'???'。我曾尝试将排序规则设置为'Thai_CI_AS',但它仍然无效。任何人都可以帮忙谢谢。SQL Server显示???当更新字段在泰国字母
为了妥善存放,因此能够检索不在ASCII字符集(即0 - 255)适合VARCHAR
,你需要做两件事情:
领域你正在存储的数据需要被定义为NVARCHAR
,而不是VARCHAR
(虽然技术上NTEXT
确实工作,不要使用它,因为它已经被更好的NVARCHAR(MAX)
取代)。
您需要确保发送到NVARCHAR
字段的变量或字符串文字被声明为NVARCHAR
。对于只意味着确保DECLARE
语句将变量显示为NVARCHAR
的变量。对于字符串文字,它们需要以大写“N”作为前缀,如:N'some thai characters'
。小写“n”不起作用,并且“N”表示该字符串将被解释为VARCHAR
,即使Unicode字符在单引号内可见。例如,请尝试以下操作:
SELECT '₺';
回报:?
即使你看到SELECT
说法正确的字符。但是:
SELECT N'₺';
回报:₺
这一个工作,因为文字是用 “N” 为前缀。
嗨。你能否尝试我的建议? – 2014-10-13 18:07:28