昨天在翻一本 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 聊聊, 查看更多联系方式