向MySQL資料庫中插入帶emoji表情符的資料時報錯
阿新 • • 發佈:2018-12-08
問題:向MySQL資料庫中插入帶emoji表情符的資料時報錯
原因:utf8字符集不支援emoji表情符,需要改為utf8mb4字符集(utf8mb4是MySQL在5.5.3之後增加的,實際開發中建議使用該字符集)
解決:
1. 設定MySQL伺服器及資料庫表的字符集
設定MySQL伺服器的字串
vi /etc/my.cnf # 修改主配置檔案
[client]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
service mysqld restart # 重啟服務
設定資料庫表的字符集(也可重新建立)
alter database 資料庫名 charset utf8mb4;
alter table 表名 charset utf8mb4;
2. 設定Python連線資料庫時使用的字符集
config = {
"host": "localhost",
"port": 3306,
"user": "root",
"password": "root",
"database": "python",
"charset": "utf8mb4"
}