操作增加用戶或更改用戶權限,在保存的時候報出以下錯誤:
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了應該不會有錯了
然後將原來建的表都刪除,重新建個表插入數據即可