摘要
在 MySQL 中直接存儲表情的時候,會出現(xiàn)無法插入數(shù)據(jù)的錯誤。
這是由于一般情況下,MySQL 的字符集是 utf8,而對于 emoji 表情的 mysql 的 utf8 字符集是不支持,需要修改設(shè)置為 utf8mb4 才行。
摘引:mysql utf8mb4與emoji表情 MYSQL 5.5 之前, UTF8 編碼只支持1-3個字節(jié),只支持BMP這部分的unicode編碼區(qū)(BMP是從哪到哪),基本就是0000~FFFF這一區(qū)。 從MYSQL5.5開始,可支持4個字節(jié)UTF編碼utf8mb4,一個字符最多能有4字節(jié),所以能支持更多的字符集。
utf8mb4 is a superset of utf8
,utf8mb4兼容utf8,且比utf8能表示更多的字符。在做移動應(yīng)用時,會遇到用戶會輸入emoji表情,如果不做一定處理,就會導(dǎo)致插入數(shù)據(jù)庫異常。
服務(wù)器端
修改數(shù)據(jù)庫配置文件/etc/my.cnf
,添加下面的配置,然后重啟服務(wù)器: