pymysql.err.InternalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x8E\\xB5\\xE9\\x9F...'

错误事件:

在使用mysql数据库插入数据时,再遇到表情符号的时候,会报错。
在这里插入图片描述
原因是因为我在navicat建立数据库的时候使用的utf8字符集
在这里插入图片描述
所以表结构在创建的时候也会默认为utf8字符集。

所以需要特殊的表情符号时,无法存入数据库。

解决办法

注意:直接在navicat中修改表结构的字符集和数据库的字符集都不能生效 (至少我的不行)

通过cmd进入mysql,找到表结构,修改表结构字符集为utf8mb4

使用命令行: altor table 表名 convert to character set utfmb4;
在这里插入图片描述
修改完成后,插入正常。
在这里插入图片描述

补充

1、有资料说进入my.ini修改mysql配置,实测无效

2、强调一遍,不要偷懒直接用可视化工具修改

3、如果改了mysql的配置,尝试重启服务器,如果启动不了,就改回去

原创文章 93 获赞 65 访问量 12万+

猜你喜欢

转载自blog.csdn.net/weixin_43870646/article/details/105812872
今日推荐