在 SQL Server 上保存拉丁字符时出现问题

问题描述 投票:0回答:1

我在将文本数据保存到 SQL Server 2019 数据库时遇到问题。有问题的列设置为 varchar。当客户输入像

não
这样的单词时,它会正常保存,没有问题,但如果他复制+粘贴该单词,它会保存为
n~ao
。调试我发现,当复制粘贴而不是使用unicode字符“ã”时,它使用组合变音标记“~”加上字母“a”,看起来varchar无法处理它。

我已经看到更改为 nvarchar 可能会解决问题,但我需要在很多列上执行此操作,除了更改列数据类型之外,还有其他方法解决此问题吗?

sql-server unicode varchar
1个回答
0
投票

将数据类型更改为

nvarchar
是解决此问题的一种方法。

解决此问题的另一种方法是通过使用

Latin_General_CI_AI
等排序规则来更改数据库和/或表设置上的设置,以进行某些不区分大小写和不区分重音的比较,这可以很好地处理拉丁字符。

通常使用

nvarchar
,因为它比
varchar

具有更广泛的拉丁字符和其他非 ASCII 字符
© www.soinside.com 2019 - 2024. All rights reserved.