使用哪种排序规则才能将 ş 和 s 视为唯一值?
Which collation to use so that `ş` and `s` are treated as unique values?
问题是 ş
和 s
被 MySQL 解释为相同的值。
我是 MySQL 的新手,所以我不知道哪些排序规则会将它们视为唯一。
我试过但不起作用的排序规则是:
utf8_general_ci
utf8_unicode_520_ci
utf8mb4_unicode_ci
utf8mb4_unicode_520_ci
有人知道要使用哪种排序规则吗?
P.S。我也确实需要排序规则来解释表情符号和其他非拉丁字符,据我所知 MySQL 和排序规则,唯一能够做到这一点的排序规则是 unicode
?
utf8_turkish_ci
和utf8_romanian_ci
——如图http://mysql.rjweb.org/utf8_collations.html
(当然还有utf8_bin
。)
对于您添加的问题:您正在寻找可以表示表情符号和其他非拉丁字符的 "character set"(不是 "collation")——UTF-8
采用。在MySQL中是utf8mb4
。与之关联的 "collations" 被命名为 utf8mb4_...
。排序规则控制顺序和相等性,如您关于 s
和 ş
.
的问题的第一部分所示
MySQL 的 CHARACTER SET utf8
是 utf8mb4
的子集。两者都可以处理世界上所有的 "letters"。但是只有utf8mb4可以处理Emoji和一些汉字。
问题是 ş
和 s
被 MySQL 解释为相同的值。
我是 MySQL 的新手,所以我不知道哪些排序规则会将它们视为唯一。
我试过但不起作用的排序规则是:
utf8_general_ci
utf8_unicode_520_ci
utf8mb4_unicode_ci
utf8mb4_unicode_520_ci
有人知道要使用哪种排序规则吗?
P.S。我也确实需要排序规则来解释表情符号和其他非拉丁字符,据我所知 MySQL 和排序规则,唯一能够做到这一点的排序规则是 unicode
?
utf8_turkish_ci
和utf8_romanian_ci
——如图http://mysql.rjweb.org/utf8_collations.html
(当然还有utf8_bin
。)
对于您添加的问题:您正在寻找可以表示表情符号和其他非拉丁字符的 "character set"(不是 "collation")——UTF-8
采用。在MySQL中是utf8mb4
。与之关联的 "collations" 被命名为 utf8mb4_...
。排序规则控制顺序和相等性,如您关于 s
和 ş
.
MySQL 的 CHARACTER SET utf8
是 utf8mb4
的子集。两者都可以处理世界上所有的 "letters"。但是只有utf8mb4可以处理Emoji和一些汉字。