马耳他字母的 SQL Server 排序规则 [已关闭]

SQL Server collation for Maltese letters [closed]

提问人:bonnu18 提问时间:11/14/2023 更新时间:11/14/2023 访问量:33

问:


这个问题是由错别字或无法再现的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能帮助未来的读者。

8天前关闭。

我正在尝试构建一个主要语言为马耳他语的应用程序。马耳他字母表以拉丁字母为基础,增加了一些字母,主要是 Ġġ、Ħħ、Żż 和 Ċċ(大写和小写字母相邻)。我尝试为数据类型的列设置不同的排序规则,但每当我将该列中的记录保存为 ĠĦŻĊġħżċ 时,它都会返回为 GHZCghzc。nvarchar(max)

服务器排序规则SQL_Latin1_General_CP1_CI_AS,我当前在 Microsoft SQL Server 2016 (SP1)SQL Server 2016 (SP1)SQL Server 2016 (SP1)SQL Server 2016 (SP1)SQL Server 2016 (SP1)SQL Server 2016 (SP1)SQL Server 2016 (SP1)SQL Server 2016 (SP1)SQL

这些是我尝试过的排序规则。

  • Maltese_100_CI_AI
  • Maltese_100_CS_AS
  • Maltese_100_CS_AS_KS_WS
  • Maltese_100_CI_AI_SC
  • Maltese_100_CS_AS_KS_WS_SC
  • Maltese_100_BIN
  • Maltese_100_BIN2

我在 Microsoft 的一篇文章中读到,附加可能是我的解决方案,但这返回了上面列出的所有排序规则的错误。目前,我的所有测试都通过 SQL Server Management Studio 的 UI 运行,因此我排除了代码问题。_UTF8

知道如何让我的数据库保存诸如 ħobżċatt 之类的单词,并按此方式重新处理它们而不是 hobzcatt

sql-server sql-server-2016 排序规则 sql-server-collation

评论

2赞 Xedni 11/14/2023
您确定数据在插入 SQL 时没有不正确地编码吗?数据是如何插入的?如果您使用的是 sql,那么处理这些字符应该没有问题。举个例子,我运行了它并且渲染它没有问题:.只需确保在字符串前加上 N 前缀即可。nvarcharSQL_Latin1_General_CP1_CI_ASdeclare @str nvarchar(max) = N'ĠĦŻĊġħżċ'; select @str
1赞 bonnu18 11/14/2023
是的,这就是问题所在,感谢您@Xedni的帮助。这是漫长的一天!我不得不这样插入它,INSERT INTO [testDb].[dbo].[TestColumn] VALUES (N'ĠĦŻĊġħżċ ĠĦŻĊġħżċ')
0赞 Xedni 11/14/2023
乐于帮助:)

答: 暂无答案