UnicodeEncodeError:'latin-1' codec can't encode characters in position 0-1: ordinal not in range(256)


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM