在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单独处理。
发布于 2017-11-27 19:11:55
请检查排序规则和字符集。这是一个示例create语句,用于接受葡萄牙语字符。
CREATE DATABASE dansih_db CHARACTER SET latin1 COLLATE latin1_danish_ci;尝试在DB示例输出中为上述字符集和归类更改字符集和归类
[

发布于 2020-06-04 05:47:13
根据http://mysql.rjweb.org/utf8mb4_collations.html的说法,并在MySQL中进行了测试,latin1_general_ci是正确区分OP识别出的字符的归类
它还会正确地对其进行排序,例如,不会将不指定的代码转换为C语言。
发布于 2022-01-18 20:22:52
以上是对用户问题的回答,但我希望它是适当的警告:使用典型的葡萄牙语排序规则,这些字符不会全部分开进行搜索。维基百科在https://en.wikipedia.org/wiki/Portuguese_orthography中解释道:“在校对时,重音字母和有向图不会被算作单独的字符。”Unicode的公共语言数据存储库用https://github.com/unicode-org/cldr/blob/main/common/collation/pt.xml解释“根排序规则顺序对这种语言有效”。因此,MySQL的默认Unicode排序算法通常是可取的。
https://stackoverflow.com/questions/47507251
复制相似问题