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了应该不会有错了

然后将原来建的表都删除,重新建个表插入数据即可  

 

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