为什么不要在MySQL中使用UTF-8编码方式


当前第2页 返回上一页

其实\uD83D\uDE00是一个emoji表情。

因为MySQL中utf8字符集只支持三字节UTF-8编码的Unicode范围,而emoji字符属于四字节编码部分,所以程序运行预期是会报错的。运行这段代码:

与预期一致,报错了。

解决问题

虽然MySQL的UTF-8存在缺陷,但是MySQL(包括mariadb)官方却没有修复此bug,而是通过2010年重新发布的“utf8mb4”来支持真正的 UTF-8。因此想要解决此问题,只能够将MySQL数据库设置为utf8mb4字符集才行。

总结

这个问题,也是因为某次保存数据的时候保存了一个emoji表情才发现的。其实最早开始用MySQL的时候,就有发现一个utf8mb4了,但是自己却没有却去了解UTF8和UTF8MB4的区别。通过此次教训,以后使用MySQL就老老实实的设置字符集为utf8mb4吧。

更多MySQL相关技术文章,请访问MySQL教程栏目进行学习!

以上就是为什么不要在MySQL中使用UTF-8编码方式的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

mysql优化的几种方法

详解 mysql int 类型的长度值问题

mysql 如何查看是否自动提交

如何修改mysql登录权限

mysql5.5怎么安装

mysql中关于冗余和重复索引

mysql 修改编码失败怎么办

如何解决mysql更新失败的问题

mysql数据库怎么进行时间类型转换

mysql介绍系统信息函数

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...