1. 程式人生 > >報錯處理:Python操作Mysql資料庫插入中文錯誤

報錯處理:Python操作Mysql資料庫插入中文錯誤

學習《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中文就沒有問題了

 

參考:https://blog.csdn.net/ch717828/article/details/41357431