本文参考http://firefish.blog.51cto.com/298258/112794/的解决方案
问题:
本文在Ubuntu上利用scrapy抓取数据写入mysql数据库时,用到sqlalchemy。但是写入数据库的中文全部为乱码,网上查了一通本以为是数据库编码的问题,折腾了一通原来是这个sqlalchemy的问题。【windows下不存在如上的问题,此问题有待继续研究!】
结合上面的解决方案本人采用的解决方法如下:
root@zhang:~# vi /usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py
修改第92行如下:
cparams.update(pop_kwarg('connect_args', {'charset':'utf8'}))
重新运行scrapy
写入数据库的中文正常显示。