MySQL表中插入中文出错,报错信息是:1366, "Incorrect string value: '\\xE5\\x8D\\xB0\\xE6\\x9C\\xBA.....
数据表,数据字段都是设置的为utf-8,报错字段类型是 text
网上查了很多都是utf8的原因,有的说设置为gbk,但是都不对,因为我之前插入的数据已经已经成功了。
- 最后发现原来是字段过长超过了text的限制,所以把字段类型改为longtext即可:alter table table_name modify column cloumn_name longtext COMMENT "内容";
- 还有一种情况就是 把字符编码设置为utf8mb4,然后你在代码连接的时候 charset设置为:utf8mb4,例如Python就是:
conn = pymysql.connect(charset="utf8mb4")