首页 / 帖子
utf8跟utf8mb4有什么区别?

近来看到mysql选择字符集有utf8mb4,不知道是什么区别?phpmyadmin貌似也是utf8mb4字符集了。

1个答案
王斌
发布于:2015-10-16 15:12

MYSQL 5.5 之前, UTF8 编码只支持1-3个字节,只支持BMP这部分的unicode编码区, BMP基本就是0000~FFFF这一区, 具体查看

http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters 


  1. 从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4,一个字符最多能有4字节,所以能支持更多的字符集。

  2. MySQL采用utf8mb4字符编码可以用来存emoj表情,而不是存表情的替换字符,就像保存字符串一样可以保存表情了。

  3. 最新版的phpmyadmin默认字符集就是utf8mb4


因此utf8mb4是utf8的超集,理论上即使client修改字符集为utf8mb4,也会不会对已有的utf8编码读取产生任何问题。