標籤:io ar os on cti ef as sql res
1.修改my.cnf
[client]default-character-set = utf8mb4[mysqld]collation-server = utf8mb4_unicode_cicharacter-set-server = utf8mb4
重啟mysql,檢查字元集是否已經更改,除了character_set_system和character_set_filesystem之外,其他的字元集都需要變成utf8mb4類型。
查看編碼如下。
mysql> show variables like ‘char%‘;+--------------------------+------------------------------------------------------+| Variable_name | Value |+--------------------------+------------------------------------------------------+| character_set_client | utf8mb4 || character_set_connection | utf8mb4 || character_set_database | utf8mb4 || character_set_filesystem | binary || character_set_results | utf8mb4 || character_set_server | utf8mb4 || character_set_system | utf8 || character_sets_dir | /usr/local/Cellar/mysql/5.5.10/share/mysql/charsets/ |+--------------------------+------------------------------------------------------+
2.為了支援之前用utf8建立的表同樣支援emoji,你還需要將之前的表修改未utf8mb4字元集
alter table posts convert to character set utf8mb4 collate utf8mb4_unicode_ci;
3.如果處理完成之後,插入還是失敗,那麼在db的URL參數上不要加characterEncoding參數。 不加這個參數時,預設值就時autodetect。
4.mysql支援emoji有版本約束,建議mysql升級至5.5,mysql-connetion升級至5.1.30。
mysql 支援emoji