Scrapy爬蟲向數據庫寫入數據時報錯:
UnicodeEncodeError:'latin-1' codec can't encode characters in position 0-1: ordinal not in range(256)
解決方案:
1.我使用的是SQLALchemy,在create_engine()中添加charset=utf8和encoding='utf-8’
engine = create_engine(mysql+mysqldb://”root:123456@127.0.0.1:3306/test?charset=utf8”,encoding=”utf-8”)
2.修改mysql配置文件
1.獲取root權限
sudo -i
2.進入配置文件所在路徑
cd /etc/mysql/mysql.conf.d
3.備份
cp -p mysqld.cnf mysqld.cnf.bak
4.用vim打開mysqld.cnf,添加以下內容
mysqld character_set_server = utf8
5.重新加載配置文件
/etc/init.d/mysql reload