向MySQL数据库中插入带emoji表情符的数据时报错

问题:向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

扫描二维码关注公众号,回复: 4414516 查看本文章

       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"

       }






猜你喜欢

转载自blog.51cto.com/12402007/2327769