MySQL的葡萄牙语排序规则

3

MySQL中是否有一种方式可以按葡萄牙语的方式进行字符排序?就像utf8_spanish_ci或西班牙语一样。或者有没有一种方法可以添加新的排序规则?

以下是需要排序的字符:

ç (Gonçalves)
ã (Guimarães)
õ (Simões)
â (Tânger)
ô (Pôrto)
ê (Gouvêa)
é (Féria)
í (Vinícius)
ó (Grijó)
ú (Araújo)
á (Tomás)
ñ (Núñez)

使用 utf8_general_ci 进行搜索时,'Gonçalves' 也会返回 'Goncalves'。我需要 MySQL 将它们分开处理。

使用latin1_danish_ci作为排序规则。您可以在以下网址上找到有关此排序规则的更多信息:http://collation-charts.org/mysql60/mysql604.latin1_danish_ci.html - User123456
1
这将CcÇç视为相同的字符。 - Kohjah Breese
在文档中有不同的值。奇怪。 - User123456
你尝试过更改排序规则和字符集吗? - User123456
你可以在这里查看排序规则。我同意丹麦语似乎比西班牙语或西班牙语2更适合处理那些重音符号。 - Rick James
显示剩余2条评论
3个回答

1
请检查排序规则和字符集。 这是一个接受葡萄牙语字符的示例创建语句。
CREATE DATABASE dansih_db CHARACTER SET latin1 COLLATE latin1_danish_ci;

尝试在您的数据库中更改字符集和排序规则

上述字符集和排序规则的示例输出

[Check this output[1


0
以上是对用户问题的回答,但我希望提醒一下:使用典型的葡萄牙语排序规则,这些字符在搜索时不会全部分开。维基百科解释道: https://en.wikipedia.org/wiki/Portuguese_orthography “重音字母和双字母组合在排序目的上不被视为单独的字符。”Unicode 的常用语言数据库在 https://github.com/unicode-org/cldr/blob/main/common/collation/pt.xml 中也有说明:“根排序顺序适用于该语言。”因此,MySQL 默认的 Unicode 排序算法通常是理想的选择。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接