若是你但願讓你的網站或者 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