報錯處理:Python操作Mysql資料庫插入中文錯誤
阿新 • • 發佈:2018-11-27
學習《python網路爬蟲從入門到實踐》中遇到以下錯誤:
Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
出現這個錯誤的原因是,資料庫的編碼格式為latin1 而我要將utf8的中文插入到資料庫中。
一開始修改 修改資料庫的編碼
alter table score default character set utf8;
但是插入中文依然出現錯誤。(注意執行上一行程式碼前先通過執行use scraping開啟database,然後將上一行程式碼中的table score修改為table urls
然後通過檢視資料表編碼(table score修改為table urls)
show create table score;
發現如下所示
注意 course 的編碼仍然為 latin1 ,雖然此時表的編碼已經是 utf8 , 但是不知道為什麼 列的編碼沒有更改過來
下面就是更改列的編碼即可(修改為alter table urls change content content varchar(4000) character set utf8;)
alter table score change score score varchar(50) character utf8;
修改成功之後
結果是列的編碼已經修改成功
接下來插入utf8中文就沒有問題了