Emoji表情,插入Mysql時失敗了!
UTF-8編碼有可能是兩個、三個、四個字節(jié)。Emoji表情是4個字節(jié),而Mysql的utf8編碼最多3個字節(jié),所以數(shù)據(jù)插不進去。解決方案就是:將Mysql的編碼從utf8轉(zhuǎn)換成utf8mb4。網(wǎng)上應(yīng)該能搜到一大堆修改Mysql編碼的方法。
我是這么做的,可能有些修改沒有必要,但最終我還是解決了問題:
修改my.cnf
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
修改后重啟Mysql
以root身份登錄Mysql,修改環(huán)境變量,將
character_set_client,
character_set_connection,
character_set_database,
character_set_results,
character_set_server
都修改成utf8mb4
將已經(jīng)建好的表也轉(zhuǎn)換成utf8mb4
命令:
alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (將TABLE_NAME替換成你的表名)
完工!