哪个MySQL整理比较例如é和e相等?

时间:2012-03-01 15:13:20

标签: mysql collation

编辑:如果不存在这样的排序规则,如果MySQL具有将字符串转换为ASCII等效的函数,我可以解决它。 FUNC('Være')='Vaere' - 可能有几个这样的功能,每个字母表一个,如果有效,这将是麻烦但可以接受。


我需要一个MySQL5校对,它将重音字符作为等效字符进行比较,而不管重音如何。例如“fêter”应被视为等于“feter”,“eł”应与“el”匹配

理想情况下,这不仅限于单字符替换,例如“对于VæreSomManBør”应被视为“For At Vaere Som Man Bor”。 WHERE name LIKE '%ere%'也应与之匹配。

我看到有西班牙语/波兰语等的排序规则,但我需要一个整理来涵盖所有类似拉丁语的字母(不是阿拉伯语或亚洲字母等)。字符串存储为UTF-8。

我应该使用哪种排序规则?

2 个答案:

答案 0 :(得分:2)

既然你说你正在使用utf8字符集,那么原始问题的答案是“除了utf8_bin之外的所有字符”。

在所有这些排序规则中,您会发现'e'='ê'。

但是,我不知道'æ'='ae'或'ø'='o'的任何校对。

 utf8_czech_ci
 utf8_danish_ci
 utf8_esperanto_ci
 utf8_estonian_ci
 utf8_general_ci
 utf8_hungarian_ci
 utf8_icelandic_ci
 utf8_latvian_ci
 utf8_lithuanian_ci
 utf8_persian_ci
 utf8_polish_ci
 utf8_roman_ci
 utf8_romanian_ci
 utf8_sinhala_ci
 utf8_slovak_ci
 utf8_slovenian_ci
 utf8_spanish_ci
 utf8_spanish2_ci
 utf8_swedish_ci
 utf8_turkish_ci
 utf8_unicode_ci

答案 1 :(得分:0)

utf8-general-ci将是最接近的一个:http://www.collation-charts.org/mysql60/mysql604.utf8_general_ci.european.html

另请注意,从MySQL 5.0开始,您可以创建自己的排序规则。 http://dev.mysql.com/doc/refman/5.0/en/adding-collation.html http://forge.mysql.com/wiki/How_to_Add_a_Collat​​ion