Yev*_*yev 4 mysql collation mysql-workbench
请帮助我了解MySQL Workbench中列出的归类之间的区别:
utf8mb4_unicode_ci 与 utf8mb4 - default collation
ps每个人都建议使用utf8mb4_unicode_ci。如果它如此流行,为什么不默认它呢?它与默认设置有何不同?
我使用MySQL 5.7.21。
utf8mb4_default?? 在哪里看到的?
utf8mb4的默认排序规则是utf8mb4_general_ci。一次只检查一个字节,因此ss不等于ß。utf8mb4的大多数其他归类确实认为它们相等。
在通用的“更好”归类列表中,第二个是utf8mb4_unicode_ci。这与几年前编写的Unicode排序算法版本4.0相匹配。
然后是utf8mb4_unicode_520_ci(Unicode 5.20),它可以“正确”处理更多的事情。
当您使用MySQL 8.0时,将有一个9.0版本utf8mb4_0900_ai_ci。
有关差异的详细信息,请参见http://mysql.rjweb.org/utf8_collations.html。(注意:对于该页面上提供的信息,“ utf8”与“ utf8mb4”的工作方式相同。)要注意的第一件事:
utf8_general_ci A=a=À=Á=Â=Ã=Ä=Å=à=á=â=ã=ä=å=?=?=?=? Aa ae az
utf8_unicode_ci A=a=ª=À=Á=Â=Ã=Ä=Å=à=á=â=ã=ä=å=?=?=?=? Aa ae az Æ=æ
utf8_unicode_520_ci A=a=ª=À=Á=Â=Ã=Ä=Å=à=á=â=ã=ä=å=?=?=?=? Aa ae=Æ=æ az
Run Code Online (Sandbox Code Playgroud)
这3行指出Æ和的3种不同处理æ。
Z。)ae。对于5.7,并且没有任何特定的语言要求,我将使用utf8mb4_unicode_520_ci。
回到您的“为什么”的问题。更改默认值会带来损害现有安装的风险,而这无济于事。所以,我想设计师是保守的。另一方面,8.0有很多重大更改,因此不太愿意更改。因此,移至utf8mb4_0900_ai_ci。
| 归档时间: |
|
| 查看次数: |
3061 次 |
| 最近记录: |