若是你但愿让你的网站或者 App 支持 Emoji,那么在初次设置 MySQL 时,有一些细节你须要知道。mysql
Emoji 字符的特殊之处是,在存储时,须要用到 4 个字节。而 MySQL 中常见的 utf8 字符集的utf8_general_ci
这个 collate 最大只支持 3 个字节。因此为了可以存储 Emoji,你须要改用 utf8mb4
字符集。sql
在建立表时,用相似这样的语句:网站
CREATE TABLE `tbl` (...) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
对 utf8mb4
字符集的支持是 MySQL 5.5 的新功能,因此你须要确保你使用的 MySQL 版本至少是 5.5。基本上,2014 年之后的新项目都应该直接上 5.6 了。spa
在启用了 utf8mb4
字符集以后,备份和导入时就不能再用默认参数了。code
用 mysqldump 备份时,须要加入:orm
mysqldump --default-charater-set=utf8mb4
而在恢复备份或经过程序链接时,须要在每次链接打开以后发送下面这条 SQL 指令:ci
SET CHARSET utf8mb4