哪个utf8校对最好?

时间:2010-04-24 07:11:20

标签: mysql collation

我想要一个UTF8排序规则来支持:

  • 波斯
  • 阿拉伯
  • 日本
  • 中国

UTF8_GENERAL_CI是否支持所有这些语言?

2 个答案:

答案 0 :(得分:32)

是的,这是正确的。 UTF-8是Unicode字符集的编码,它支持世界上几乎所有语言。

我认为唯一的区别在于对结果进行排序,不同的字母可能会以不同的顺序出现在其他语言中(重音符号,变音符号等)。此外,将aä进行比较可能会在另一种排序规则中有所不同。

_ci后缀表示排序和比较不区分大小写。

您可能会对

http://www.collation-charts.org/感兴趣。

答案 1 :(得分:1)

UTF8_GENERAL_CI是一个不错的决定。现在有一些缺点。

MySQL的UTF8实际上使用3个字节而不是4个字节,您需要用4个字节来表示表情符号和新的亚洲字符。

因此,MySQL有一个更新的字符集,称为 utf8mb4 ,它实际上符合UTF8定义。

要完全支持亚洲语言,您需要选择utf8mb4。

如果您关心多种语言的正确排序,请使用utf8mb4_unicodeutf8mb4_unicode_ci代替常规语言。

您可以在What's the difference between utf8_general_ci and utf8_unicode_ci

中找到更详细的答案