mysql--utf8mb4

难怪运维跟我说不要用utf-8,原来是有原因的。

“utf8”只支持每个字符三个字节,而真正的 UTF-8 是每个字符最多四字节

MySQL 一直没有修复这个 bug,他们在 2010 年发布了一个叫作“utf8mb4”的字符集,绕过了这个问题。

当然,他们并没有对新的字符集广而告之(可能是因为这个 bug 让他们觉得很尴尬),以致于现在网络上仍然在建议开发者使用“utf8”,但这些建议都是错误的。

简单概括如下:

MySQL 的“utf8mb4”是真正的“UTF-8”。

MySQL 的“utf8”是一种“专属的编码”,它能够编码的Unicode字符并不多。

如果你在使用 MySQL 或MariaDB,不要用“utf8”编码,改用“utf8mb4”。这里提供了一个指南用于将现有数据库的字符编码从“utf8”转成“utf8mb4”。链接如下:

https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4

猜你喜欢

转载自www.cnblogs.com/anyehome/p/9717090.html