编辑:如果不存在这样的排序规则,我可以解决它,如果 MySQL 有一个函数可以将字符串转换为 ASCII 等价物,例如FUNC('Være')='Vaere'
-- 可能有几个这样的函数,每个字母一个,这会很麻烦,但如果有效的话可以接受。
我需要一个 MySQL5 排序规则,它将重音字符作为等效字符进行比较,而不考虑重音符号。例如"fêter"应该被认为等于 "feter"并且 "eł"应该匹配 "el"
理想情况下,这不限于单字符替换,例如“For At Være Som Man Bør”应被视为等同于“For At Vaere Som Man Bor”。 WHERE name LIKE '%ere%'
也应该匹配它。
我看到有西类牙语/波兰语/等的排序规则,但我需要一个 排序规则来涵盖所有 类拉丁字母(不是阿拉伯语或亚洲字母等)。字符串以 UTF-8 格式存储。
我应该使用哪种排序规则?
最佳答案
既然你说你使用的是 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
关于mysql - 哪个 MySQL 归类比较例如é 和 e 相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9518681/