1. 程式人生 > >mysql 支援 emoji

mysql 支援 emoji

MYSQL 5.5 之前,UTF8 編碼只支援1-3個位元組,只支援BMP這部分的unicode編碼區,BMP是從哪到哪,到http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters這裡看,基本就是0000~FFFF這一區。 從MYSQL5.5開始,可支援4個位元組UTF編碼utf8mb4,一個字元最多能有4位元組,所以能支援更多的字符集。

utf8mb4 is a superset of utf8

utf8mb4相容utf8,且比utf8能表示更多的字元。

emoji存入mysql需要欄位字符集為utf8mb4。

解決辦法

修改/etc/my.cof檔案

[mysqld]
#修改編碼格式
character-set-server=utf8mb4                            

重啟mysql

/etc/init.d/mysqld stop
/etc/init.d/mysqld start

修改欄位編碼格式

ALTER TABLE `table_name` MODIFY COLUMN `columb_name` VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL

然後就可以儲存使用emoji表情了。