問題:向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"
}