问题是ş
和s
被MySQL解释为相同的值。
我是MySQL的新手,所以我不知道哪个排序规则会将它们视为唯一。
我尝试使用的排序规则不起作用:
utf8_general_ci
utf8_unicode_520_ci
utf8mb4_unicode_ci
utf8mb4_unicode_520_ci
有人知道要使用哪种排序规则吗?
P.S。我还真的需要归类来解释表情符号和其他非拉丁字符,并且据我对MySQL和归类的了解,唯一能够做到这一点的归类是unicode
?
答案 0 :(得分:1)
utf8_turkish_ci
和utf8_romanian_ci
-如http://mysql.rjweb.org/utf8_collations.html
(当然还有utf8_bin
。)
对于您的附加问题:您正在寻找一种可以代表表情符号和其他非拉丁字符的“字符集”(而不是“归类”)-UTF-8
是一个可以使用的字符集。在MySQL中,它是utf8mb4
。与之关联的“归类”被命名为utf8mb4_...
。排序规则控制顺序和相等性,如您对s
和ş
的问题的第一部分所述。
MySQL的CHARACTER SET utf8
是utf8mb4
的子集。任何一个都可以处理世界上所有的“信件”。但是只有utf8mb4可以处理表情符号和一些汉字。