环境是python3.5
在使用pandas,将dataframe数据存入到mysql数据库中,遇到了中文乱码问题。
alter table `xxxx` convert to character set utf8;
alter table xxxx engine=myisam;
con = sqlalchemy.create_engine(“mysql+mysqldb://username:passwd@host/dbname?charset=utf8”)
后来调整数据库编码为utf8,表编码为utf8,以及连接编码指定utf8之后,都没有解决。
最终,放弃使用dataframe的to_sql函数,采用手写sql语句的方式,解决了乱码问题。
值得说的是,这次的中文乱码问题,将to_sql连接的数据库换成sqlite,以及,直接保存成csv后,再从csv读取数据,并to_sql到mysql数据库,都不会出现中文乱码问题。
也许,这个问题是由爬虫的数据源编码导致的。
题后记:
后来又再次遇到这个问题。
最终,更改数据库默认编码为utf8类型。
然后采用复制,即可。
0 条评论