说在前面
笔者最近在写Python爬虫,在一次将数据存储到MySQL中的过程中突然报1366错误(error:1366, “Incorrect string value: )。通过查阅相关文档了解1366错误多数是字符编码前后不一致所造成,比如表的编码和插入的编码不一致。读者可以通过以下命令查阅相关字符集
mysql的字符集:show variables where Variable_name like '%char%';
数据库字符集:show create database databaseName;(databaseName为数据库名)
数据表字符集:show create table tableName;(tableName为表名)
场景一
表的编码与插入数据编码不一致(以utf8为例)
解决方案
1、设置表的字段编码
alter table ygspider change title title varchar(20) character set utf8;(title是字段名称)
2、设置python代码中的mysql配置charset为utf8
mysql_conf = {
'host': 'localhost',
'user': 'root',
'password': '1111',
'port': 3306,
'database': 'test',
'charset': 'utf8'
}
场景二
正当笔者以为问题解决的时候,突然日志中又跳出一个插入失败,如下!

最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



