MySQL排序规则utf8_unicode的差异


10

但是我一直在阅读MySQL排序规则的重要性,到目前为止,我所学到的关于兼容性和准确性的知识似乎是这四个最好的选择。

  • utf8_unicode_ci
  • utf8_unicode_520_ci
  • utf8mb4_unicode_ci
  • utf8mb4_unicode_520_ci

根据我的理解,uft8mb4对于具有多语言(字符)支持的字符(例如日语)会很有帮助。uf8仅支持3个字节,而uf8mb4支持4个字节。因此,听起来似乎显而易见的选择是uf8mb4,但要注意的是您有长度限制(该死!我也想吃我的蛋糕),这有点担心(我认为)。

然后考虑520标准。从我几乎找不到的东西中可以找到更多。但这当然是问题,我对此几乎找不到。只有那个人说这是一种进步,但是对此却非常含糊。

我确实希望能以尽可能少的限制获得最大的收获。。。我想这里的人可能知道一两件事。官方的MySQL网站没有我希望的那样丰富。

在这四个中,哪个将提供最大的兼容性,准确性和最大的存储长度?502标准之间真正的最大区别是什么?

Answers:


10

Unicode归类名称可以包括版本号,以指示归类所基于的Unicode归类算法(UCA)的版本。没有名称的版本号基于UCA的核对使用version-4.0.0UCA重量键。归类名称,例如,utf8_unicode_520_ci基于UCA 5.2.0权重键

参见https://dev.mysql.com/doc/refman/5.6/en/charset-collat​​ion-names.html


为了对此进一步说明:归类将不会修改所使用的编码(MySQL错误地调用character setcharset),因此utf8将为您提供3字节(非标准)的UTF-8,utf8mb4并为您提供4字节的UTF-8。
jynus 2014年

1
因此,简单地说,UCA 4.0.0和UCA 5.2.0之间的区别是一个较新的区别。优点或缺点是什么?
2014年

4
它影响排序。如果您绝对需要根据Unicode标准的最新版本(但仍旧过时)进行排序,则可以使用520_ci。对于我的网站,我不在乎。
Mathias Bynens 2014年

utf8mb4_unicode_520_ci排序规则中最大字节大小字符的字节大小是多少?
oldboy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.