如果你希望讓你的網(wǎng)站或者 App 支持 Emoji,那么在初次設(shè)置 MySQL 時(shí),有一些細(xì)節(jié)你需要知道。
Emoji 字符的特殊之處是,在存儲(chǔ)時(shí),需要用到 4 個(gè)字節(jié)。而 MySQL 中常見(jiàn)的 utf8 字符集的 utf8_general_ci
這個(gè) collate 最大只支持 3 個(gè)字節(jié)。所以為了能夠存儲(chǔ) Emoji,你需要改用 utf8mb4
字符集。
在創(chuàng)建表時(shí),用類(lèi)似這樣的語(yǔ)句:
CREATE TABLE `tbl` (...) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
對(duì) utf8mb4
字符集的支持是 MySQL 5.5 的新功能,所以你需要確保你使用的 MySQL 版本至少是 5.5?;旧?,2014 年以后的新項(xiàng)目都應(yīng)該直接上 5.6 了。
在啟用了 utf8mb4
字符集之后,備份和導(dǎo)入時(shí)就不能再用默認(rèn)參數(shù)了。
用 mysqldump 備份時(shí),需要加入:
mysqldump --default-charater-set=utf8mb4
而在恢復(fù)備份或通過(guò)程序連接時(shí),需要在每次連接打開(kāi)之后發(fā)送下面這條 SQL 指令:
SET CHARSET utf8mb4
聯(lián)系客服