问题:向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"
}
转载于:https://blog.51cto.com/12402007/2327769