我写了这个简单的更新查询:
\n\nupdate foo set test =\'\xe8\xa4\xa0\xef\x81\xa2\xe0\xb0\x93\xef\xbf\xbd\xe1\xb5\x82\xeb\xb1\x97\xed\x85\xac\xe3\xb0\x97\' where id = 1\n
Run Code Online (Sandbox Code Playgroud)\n\n[test] 是 nvarchar(16) 列。它将包含一个加密值。
\n\n在 SSMS (10.50) 中,我已将网格结果和文本结果的字体设置为 Lucida Sans Unicode。字形 (\xe8\xa4\xa0\xef\x81\xa2\xe0\xb0\x93\xef\xbf\xbd\xe1\xb5\x82\xeb\xb1\x97\xed\x85\xac\xe3\xb0\ x97) 显示在查询编辑器窗口中。但网格结果和文本结果窗口总是显示简单的问号“?????????”而不是\xe8\xa4\xa0\xef\x81\xa2\xe0\xb0\x93\xef\xbf\xbd \xe1\xb5\x82\xeb\xb1\x97\xed\x85\xac\xe3\xb0\x97。
\n\n在“工具”->“选项”中更改字体后,我关闭并打开 SSMS。
\n\n任何建议,将不胜感激。我通常不需要理解本专栏的内容,但在测试以确保客户端应用程序发送正确的数据时,看到问号以外的其他内容会很有帮助。
\n如果要在语句中插入 Unicode 文本,则需要提供以下update
形式的 Unicode 字符串:N\'...\'
update foo set test = N\'\xe8\xa4\xa0\xef\x81\xa2\xe0\xb0\x93\xef\xbf\xbd\xe1\xb5\x82\xeb\xb1\x97\xed\x85\xac\xe3\xb0\x97\' where id = 1\n
Run Code Online (Sandbox Code Playgroud)\n\n否则,如果 SQL Server 无法将字符映射到相应的非 Unicode 字符,即使在列中,字符也会真正转换为问号nvarchar
。
归档时间: |
|
查看次数: |
1194 次 |
最近记录: |