python pymysql.err.InternalError: (1366, "Incorrect string value: '\\xE9\\x9F\\xA9\\xE6\\xA2\\x85...

python3使用pymysql报错:

 
python pymysql.err.InternalError: (1366, "Incorrect string value: '\\xE9\\x9F\\xA9\\xE6\\xA2\\x85...
image.png

代码:

#插入数据
try:
sql = 'INSERT INTO classb (a_id,name,age) VALUES (6,"韩",12)'
cur.execute(sql)
except Exception as e:
print(e)

解决办法一:
修改创建连接位置,设置字符编码:

db = pymysql.connect(user='root',password='123456',database='1609k',charset='uft8')

#或者
db = pymysql.connect(user='root',password='123456',database='1609k',charset='UTF8')

如果还是报错,修改Mysql编码格式:
show variables like 'character%';

 
python pymysql.err.InternalError: (1366, "Incorrect string value: '\\xE9\\x9F\\xA9\\xE6\\xA2\\x85...
image.png

修改: set character_set_database=utf8;
再次查看:

 
python pymysql.err.InternalError: (1366, "Incorrect string value: '\\xE9\\x9F\\xA9\\xE6\\xA2\\x85...
image.png

此时再次创建数据库,创建新表,问题解决。

对于已经存在的数据库和表格,修改:
修改数据库编码格式: Alter database 数据库名称 character set utf8 collate utf8_general_ci;
修改表编码格式: Alter table 表名称 convert to character set utf8;
查看数据库的编码格式: show create database 数据库名称;

上一篇:蚂蚁集团IPO折让定价68.8元!社保基金追投,为全国人民赚养老金


下一篇:这届打工人不一样!剁手消费之外,还在天猫双11抢网课投资自己