django插入數據庫報錯django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE4\\xBF\\x

操作增加用戶或更改用戶權限,在保存的時候報出以下錯誤:

django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE4\\xBF\\xAE\\xE6\\x94\\xB9...' for column 'message' at row 1")
經過一波分析,得出結論:

操作mysql數據庫的時候,將數據插入表裏出錯

1.查看數據庫的編碼格式

show variables like "%char%";

發現character_set_database 編碼是latin1不是utf8,問題應該就在這裏。

那我們現在就要把這個字符改過來。

應該注意,字符集編碼是latin1的都改成utf8

然後查看了下django連接的數據庫,以及生成的表的編碼發現編碼不是utf8,所以這裏還要修改數據庫,表的編碼

查看數據庫的編碼:show create database databaseName;
show create database test;
 

發現這裏也是latin1,同樣,把這個改成utf8

修改數據庫編碼: alter database databaseName default character set utf8 collate utf8_general_ci;

修改後查看編碼都已經是utf8了應該不會有錯了

然後將原來建的表都刪除,重新建個表插入數據即可  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章