Django 数据插入数据库中报错“Incorrect string value: ‘\\xE9\\x9B\\xB2 \\xE9\\x99...‘ for column ‘content

在drf(Django restframe_work)表单中填写post的时候遇到这种情况,我就想这可能不仅仅是这个框架的原因,有可能是数据库的建立问题。结合百度加上本人的经验,记录一下。

编码问题

百度到很多都是要改成utf-8编码,因为我把数据改为字母而不是汉字的时候就可以成功提交。所以我就试了一下,修改数据库或者数据表的编码方式,操作比较简单。acm为数据库。

show databases;
create database acm;
alter database acm character set utf8;

model的格式问题

然而还是不行,我就在想是不是(使用的是Django的model)model里面建立的数据类型不对,可能插入数据比较长,CharField不支持。所以我改用了TextField,问题解决。

class Article(models.Model):
    # author_id = models.IntegerField(default=0)  # 创建者id
    # algorithm_id = models.IntegerField(default=0)  # 文章类型id
    content = models.TextField(max_length=32765)  # 发布文章内容
posted @ 2021-02-22 16:25  沃特艾文儿  阅读(50)  评论(0)    收藏  举报  来源