博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql utf8跟utf8mb4_MySQL utf8 和 utf8mb4 的区别
阅读量:1534 次
发布时间:2019-04-21

本文共 1078 字,大约阅读时间需要 3 分钟。

utf-8 时变化长度的编码,储存一个code point 需要1~4个字节.

然而,mysql的utf8只存储最多3个字节per code point.

所以,utf8字符集不能存储所有的unicode code points.

只能从0x000 to 0xFFFF(叫做Basic Multilingual Plane:BMP)

The character set named utf8 uses a maximum of three bytes per character and contains only BMP characters. As of MySQL 5.5.3, the utf8mb4 character set uses a maximum of four bytes per character supports supplemental characters:

For a BMP character, utf8 and utf8mb4 have identical storage characteristics: same code values, same encoding, same length.

For a supplementary character, utf8 cannot store the character at all, while utf8mb4 requires four bytes to store it. Since utf8 cannot store the character at all, you do not have any supplementary characters in utf8 columns and you need not worry about converting characters or losing data when upgrading utf8 data from older versions of MySQL.

So if you want your column to support storing characters lying outside the BMP (and you usually want to), such as emoji, use "utf8mb4". See also What are the most common non-BMP Unicode characters in actual use?.

e368414d4baad7f74674d44f631e4c37.png

转载地址:http://acidy.baihongyu.com/

你可能感兴趣的文章
BAT常见的20道Android面试题详解,全网疯传
查看>>
BAT等大厂必问技术面试题,妈妈再也不用担心我找工作了!
查看>>
BAT等大厂必问技术面试题,成功拿下大厂offer
查看>>
一眼就能看懂的Android自学手册,送大厂面经一份!
查看>>
一线互联网大厂中高级Android面试真题收录!大牛最佳总结
查看>>
一线互联网大厂中高级Android面试真题收录!持续更新中
查看>>
一线互联网移动架构师360°全方面性能调优,深度解析,值得收藏
查看>>
一线互联网移动架构师Android框架体系架构!附带学习经验
查看>>
一线互联网移动架构师设计思想解读开源框架!年薪超过80万!
查看>>
万字Android技术类校招面试题汇总,Android岗
查看>>
万字长文总结Android多进程,大厂直通车!
查看>>
一个小例子彻底搞懂Android的MVP模式到底是什么?醍醐灌顶!
查看>>
一个小例子彻底搞懂Android的MVP模式到底是什么?面试资料分享
查看>>
mmkv跨进程,4个改变你编程技能的小技巧,已开源
查看>>
互联网寒冬公司倒闭后,使用指南
查看>>
JVM虚拟机原理深入解析,详细的Android学习指南
查看>>
JVM虚拟机原理深入解析,面试必备
查看>>
Kafka是如何实现高性能的?系列篇
查看>>
View的这些基础知识你必须要知道,知乎上转疯了!
查看>>
为什么说Flutter让移动开发变得更好?系列篇
查看>>