pymysql 写入数据库表报错 1366

pymysql 写入数据库表报错 1366,第1张

原因:

检查数据发现数据竟然有一个表情包图片,查阅相关资料后发现utf8最多处理3个字节,而这种表情图或者其他特殊字符是4字节,所以也导致了插入失败1366错误!

解决方法:

使用utf8mb4!
1、设置表的字段编码
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;
2、设置python代码中的mysql配置charset为utf8mb4
mysql_conf = {
    'host': 'localhost',
    'user': 'root',
    'password': '6666',
    'port': 3306,
    'database': 'test',
    'charset': 'utf8mb4'
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/868449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存