作者:手机用户2502922313 | 来源:互联网 | 2020-09-01 14:50
MySQL从4.1版本开始支持UTF-8,也就是2003年,然而目前流行的UTF-8标准(RFC3629)是在此之后规定的。正因此,才造就了MySQL中的UTF-8与我们日常开发中的UTF-8不一致,从到导致了些问题。
与预期一致,报错了。
解决问题
虽然MySQL的UTF-8存在缺陷,但是MySQL(包括mariadb)官方却没有修复此bug,而是通过2010年重新发布的“utf8mb4”来支持真正的 UTF-8。因此想要解决此问题,只能够将MySQL数据库设置为utf8mb4字符集才行。
总结
这个问题,也是因为某次保存数据的时候保存了一个emoji表情才发现的。其实最早开始用MySQL的时候,就有发现一个utf8mb4了,但是自己却没有却去了解UTF8和UTF8MB4的区别。通过此次教训,以后使用MySQL就老老实实的设置字符集为utf8mb4吧。
更多MySQL相关技术文章,请访问MySQL教程栏目进行学习!
以上就是为什么不要在MySQL中使用UTF-8编码方式的详细内容,更多请关注 第一PHP社区 其它相关文章!