我正在尝试修改SQL中链接到PDF和Word文档生成的数据库的文本。为了做到这一点,我使用了UPDATE命令对其进行了修改。然而,在执行之后,它会返回所有重音符号,并在元音后面加上问号,而且它没有正确显示。你能帮我解决这个问题吗?
提前感谢
结果的文本是这样的:un-nu?接种疫苗的人?马在洛杉矶的表现如何?第二天?cada
Mike
Microsoft SQL Server
要插入/更新这样的值,您应该通知SQL这是一个在其前面添加N
的unicode字符串,如下所示:
UPDATE dbo.myTable SET col = N'Strange string - начала'
要使用varchar
类型存储重音字母,请同时使用正确的排序规则(支持排序规则和unicode(。
ALTER TABLE dbo.myTable
ALTER COLUMN [message] varchar(800) COLLATE Cyrillic_General_CI_AI;
我在多语言应用程序中遇到过类似的西里尔字母(俄语和乌克兰语(问题。
对我来说,解决方案是在需要的每个表、过程和函数中将数据类型从varchar
更改为nvarchar
。
有关nchar和nvarchar(Transact-SQL(的详细信息
提示:由于我使用JSON,我希望升级到SQL Server 2019,Microsoft在那里为varchar
类型实现了UTF-8编码。