我写了这个简单的更新查询:
update foo set test ='褠ఓ�ᵂ뱗텬㰗' where id = 1
[test] 是 nvarchar(16) 列。它将包含一个加密值。
在 SSMS (10.50) 中,我将网格结果和文本结果的字体设置为 Lucida Sans Unicode。字形 (褠ఓ�ᵂ뱗텬㰗) 显示在查询编辑器窗口中。但是网格结果和文本结果窗口总是只显示问号 '??????????' 而不是褠ఓ�ᵂ뱗텬㰗。
在工具 -> 选项中更改字体后,我关闭并打开了 SSMS。
任何建议,将不胜感激。我通常不需要理解本专栏的内容,但在测试以确保客户端应用程序发送正确数据时,看到问号以外的内容会很有帮助。
如果要在
update
语句中插入 Unicode 文本,则需要提供形式为 的 Unicode 字符串N'...'
,如否则,如果 SQL Server 无法将字符映射到相应的非 Unicode 字符,即使在
nvarchar
列中,字符也会真正转换为问号。