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 数据库名称;

相关文章:

  • 2021-10-13
  • 2022-12-23
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
猜你喜欢
  • 2021-12-21
  • 2022-02-27
  • 2021-05-17
  • 2021-05-11
  • 2022-12-23
  • 2021-10-14
相关资源
相似解决方案