我有一个 SQL Server 2008 数据库和一个表的 nvarchar(256)
字段。疯狂的问题是,当我运行此查询时:
update ruds_values_short_text
set value = '≤ asjdklasd'
where rud_id=12202 and field_code='detection_limit'
然后
select * from ruds_values_short_text
where rud_id=12202 and field_code='detection_limit'
我得到这个结果:
12202 detection_limit = asjdklasd 11
可以看到字符≤已经转化为=
这是一个与编码相关的问题,事实上,如果我尝试在 Notepad++ 中粘贴“≤”,它会粘贴“=”,但当我将 ANSI 转换为 UTF-8 时,我会得到“≤”。
所以..我想我应该用UTF8编写查询..但是怎么写呢?谢谢。
最佳答案
您需要使用 N
前缀,以便将文字视为 Unicode,而不是视为数据库默认排序规则的代码页中的字符数据。
update ruds_values_short_text
set value = N'≤ asjdklasd'
where rud_id=12202 and field_code='detection_limit'
关于sql - 无法在 SQL Server 2008 中插入字符 '≤',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4336016/