MySQL 8 之后版本的默认字符集已经变成了 utf8mb4

更新日期: 2024-11-15 阅读次数: 271 字数: 299 分类: MySQL

昨天在翻一本 MySQL 书籍的时候,发现 MySQL 8.0 之后,默认的数据库字符集已经变成了 utf8mb4。

而我这么多年一直还是习惯性的新建数据库时,手动指定 utf8mb4 字符集和 collation 。。。看来以后可以省去这个多余的操作了。

The default MySQL server character set and collation are utf8mb4 and utf8mb4_0900_ai_ci, but you can specify character sets at the server, database, table, column, and string literal levels.

手动指定 mysql utf8mb4 编码 主要是为了支持 emoji 表情,😄。现在 emoji 用的太广泛,作为默认编码是非常合理的。

有空还是得多看看 mysql 官方文档,要不知识都落伍了。

参考 MySQL 8.0 的官方文档:

https://dev.mysql.com/doc/refman/8.0/en/charset.html

Utf8 与 Utf8mb4 的区别

Utf8 只能支持 1~3 个字节的字符

Utf8mb4 则可以支持 4 个字节的字符,而 emoji 则是以 4 个字节进行存储的。 所以要支持 emoji 则必须使用 Utf8mb4.

MySQL 8 的文档中还提到,UTF8 (等同于 utf8mb3)在未来也会被废弃,应该写作 utfmb3。

UTF8 is a deprecated synonym for utf8mb3, and you should expect it to be removed in a future version of MySQL. Specify utfmb3 or (preferably) utfmb4 instead.

微信关注我哦 👍

大象工具微信公众号

我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式