数据库MySQL/MariaDB设置编码utf8或utf8mb4的区别

[mysql] 2024-04-18 圈点205

摘要:《数据库MySQL/MariaDB设置编码utf8或utf8mb4的区别》在数据库设置utf8和utf8mb4的区别可太大了,也不说历史和分析过程了,直接看结论。

《数据库MySQL/MariaDB设置编码utf8或utf8mb4的区别》在数据库设置utf8和utf8mb4的区别可太大了,也不说历史和分析过程了,直接看结论。


1,utf8由1-4个字节组成。可以查看“世界字符编码ascii和unicode和utf-8的发展历程”具体了解一下编码的发展历程以及uft8的编码规则。


2,在数据库MySQL/MariaDB编码中,其“默认约定”设置的“utf8”为3个字节组成。所以,如果要保存由那些由4个字节组成的utf8就会出错。

3,为解决4个字节的编码问题,就在数据库MySQL/MariaDB中创造了一个"utf8mb4"的编码,因此如果要保存那些由4个字节组成的utf8,就要用设置编码为“utf8mb4”。


在网络上有很多人遇到其MySQL/MariaDB编码数据库设置为“utf8”出现其些表情符号无法保存的情况,

因为这些表情符号属于4字节组成的utf8编码,所以要修正过来为utf8mb4。


在实际应用中对于没有特殊符号要求的大部分人来说,用3字节的uft8就能满足日常需求了。这就是数据库MySQL/MariaDB设置编码utf8或utf8mb4的区别。


utf8  utf8mb4  

感谢反馈,已提交成功,审核后即会显示