mysql - 哪个 MySQL 归类比较例如é 和 e 相等?

标签 mysql collation

编辑:如果不存在这样的排序规则,我可以解决它,如果 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/

相关文章:

php - AJAX 实时插入删除搜索,显示项目 2 次

mysql - "Most Viewed"特征数据库的实现

mysql:批量删除并重新创建带有新排序规则的函数

MySQL View - 非法混合排序规则

java - 在哪里可以找到一组特定的字符串相等性比较规则?

postgresql - Postgres 12 不区分大小写的比较

mysql - 在 PostgreSQL 中使用 SELECT 查询连接列

mysql - mysql如何对两列进行排序

mysql - 如何在 WHERE CLAUSE 中使用 DISTINCT 来避免重复行返回

mysql - 数据库值在特殊字符处被截断