我想要一个UTF8排序规则来支持:
UTF8_GENERAL_CI
是否支持所有这些语言?
对,那是正确的。 UTF-8是Unicode字符集的编码,它支持世界上几乎所有语言。
我认为唯一的区别在于对结果进行排序,不同的字母可能在其他语言中以不同的顺序出现(重音符号,变音符号等)。此外,将a
与ä
进行比较可能在另一种整理方面表现不同。
_ci
后缀表示排序和比较不区分大小写。
你可能会对http://www.collation-charts.org/感兴趣。
因为UTF8_GENERAL_CI
不久前做出了一个很好的决定。它现在有一些缺点。
MySQL的UTF8实际上使用3个字节而不是4个字节,这对于像emojis和新的亚洲字符这样的符号是必需的。
所以MySQL有一个名为utf8mb4的新字符集,它实际上符合UTF8定义。
为了能够完全支持亚洲语言,您需要选择utf8mb4。
如果您关心多种语言的正确排序,请使用utf8mb4_unicode
或utf8mb4_unicode_ci
而不是general。
您可以在What's the difference between utf8_general_ci and utf8_unicode_ci找到更详细的答案