Warning: Undefined array key "HTTPS" in include() (line 29 of /opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php).
include('/opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php') (Line: 4)
require('/opt/www/fdv2/drupal.stage/web/sites/drupal001.net/settings.php') (Line: 145)
Drupal\Core\Site\Settings::initialize('/opt/www/fdv2/drupal.stage/web', 'sites/drupal001.net', Object) (Line: 1099)
Drupal\Core\DrupalKernel->initializeSettings(Object) (Line: 701)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
utf8跟utf8mb4有什么区别? - Drupal大学 - Drupal问答论坛
首页 / 帖子
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编码读取产生任何问题。