Python MySQL 错误:Incorrect string value: '\xE5\xAD\xA6\xE6\xA0\xA1...' for column '标题' at row 1 解决方法
Python MySQL 错误:Incorrect string value: '\xE5\xAD\xA6\xE6\xA0\xA1...' for column '标题' at row 1 解决方法
在使用 Python 连接 MySQL 数据库进行数据插入操作时,有时会遇到 "Incorrect string value: '\xE5\xAD\xA6\xE6\xA0\xA1...' for column '标题' at row 1" 的错误。这个错误通常是由于字符集不匹配导致的。你可以尝试以下解决方法:
1. 确保数据库和表的字符集与你的数据匹配
在创建表格时指定字符集,例如:
CREATE TABLE IF NOT EXISTS test3 (...) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci2. 确保连接数据库时的字符集设置正确
在连接数据库时设置字符集,例如:
conn = pymysql.connect(host='localhost', user='root', password='password', db='database', charset='utf8mb4')3. 确保插入数据时的字符集设置正确
在插入数据时设置字符集,例如:
cur.executemany("insert into test3(...) values(%s, %s, %s, %s) COLLATE utf8mb4_unicode_ci", (i[0], i[1], i[2], i[3]))4. 如果上述方法都不起作用,可能是因为数据库的字符集不支持特定的字符,你可以尝试将数据转换为合适的字符集,例如:
i[2].encode('latin1').decode('utf8mb4')请根据你的具体情况选择适合的解决方法。
原文地址: https://www.cveoy.top/t/topic/pBj0 著作权归作者所有。请勿转载和采集!