我在上一篇博客中说明了在爬取数据的时候,把数据写入到文件的乱码问题
在这一篇里面我做一个总结:
1、首先应该看一个案例
我把数据写在.py文件中:
#coding:utf-8
s = 'hehe测试中文字符'
ss = u'hehe测试中文字符'
uu = s.decode('utf-8')
print s #输出乱码
print uu #正常
print ss #正常
这里需要对中文数据进行编码,输出正常
2、我们针对爬取回来的数据
在读取页面数据的时候已经对其编码 response.read().decode('utf-8')
在把数据写入到数据库的时候,只需要把数据库的连接指定为 utf-8 就可以
MySQLdb.Connect(host=v_host,port=int(v_port),user=v_user,passwd=v_passwd,db=v_db,charset='utf8')
3、可以直接把读取来的数据直接写入到数据库中,不会出现乱码
py文件的其他地方不需要在进行其他的编码,仅仅是在读取response里面的数据的时候进行编码一次
4、在设置Mysql编码的时候切记是:utf8,中间没有横杠
不然会报错:_mysql_exceptions.OperationalError: (2019, “Can’t initialize character set utf-8