哪个utf8校对最好?

问题描述 投票:23回答:2

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

  • 英语
  • 波斯语
  • 阿拉伯
  • 法国
  • 日本
  • 中文

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

mysql collation
2个回答
33
投票

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

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

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

你可能会对http://www.collation-charts.org/感兴趣。


2
投票

因为UTF8_GENERAL_CI不久前做出了一个很好的决定。它现在有一些缺点。

MySQL的UTF8实际上使用3个字节而不是4个字节,这对于像emojis和新的亚洲字符这样的符号是必需的。

所以MySQL有一个名为utf8mb4的新字符集,它实际上符合UTF8定义。

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

如果您关心多种语言的正确排序,请使用utf8mb4_unicodeutf8mb4_unicode_ci而不是general。

您可以在What's the difference between utf8_general_ci and utf8_unicode_ci找到更详细的答案

© www.soinside.com 2019 - 2024. All rights reserved.