最近临时有个需求需要用python 爬点中文数据,结果悲催的发现乱码了
查了下资料,这里做下总结:
1. 首先python的代码需要是UTF-8的
# -*- coding: utf-8 -*-
2.确认mysql的数据库和表编码是UTF8的
show create database …
show create table…
如果不是,alter table或者database设置下编码(请注意alter database编码造成的影响)
3.pytho mysql连接时确认使用UTF8
MySQLdb.connect (…,charset=’utf8′)
4.暂时来说,应该是正常的了,如果还不行,请尝试如下操作:
修改/etc/my.cnf
[client]default-character-set = utf8
[mysqld]default-character-set = utf8
在python代码中增加:
reload(sys)
sys.setdefaultencoding(‘utf-8’)