用 MySQL 存儲 Emoji

若是你但願讓你的網站或者 App 支持 Emoji,那麼在初次設置 MySQL 時,有一些細節你須要知道。mysql

Emoji

Emoji 字符的特殊之處是,在存儲時,須要用到 4 個字節。而 MySQL 中常見的 utf8 字符集的utf8_general_ci 這個 collate 最大隻支持 3 個字節。因此爲了可以存儲 Emoji,你須要改用 utf8mb4 字符集。sql

在建立表時,用相似這樣的語句:網站

CREATE TABLE `tbl` (...) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;

MySQL 版本

對 utf8mb4 字符集的支持是 MySQL 5.5 的新功能,因此你須要確保你使用的 MySQL 版本至少是 5.5。基本上,2014 年之後的新項目都應該直接上 5.6 了。spa

MySQL 備份和導入

在啓用了 utf8mb4 字符集以後,備份和導入時就不能再用默認參數了。code

用 mysqldump 備份時,須要加入:orm

mysqldump --default-charater-set=utf8mb4

而在恢復備份或經過程序鏈接時,須要在每次鏈接打開以後發送下面這條 SQL 指令:ci

SET CHARSET utf8mb4
相關文章
相關標籤/搜索