(1366, "Incorrect string value: '\\xF0\\x9F\\x87\\xA9\\xF0\\x9F...' for column 'title' at row 1")

django 报错[<kolinfo.adminviews.ConentAPIView object at 0x7f0f80454a20>] (1366, "Incorrect string value: '\\xF0\\x9F\\x87\\xA9\\xF0\\x9F...' for column 'title' at row 1")
 

该错误是因为存如数据库的数据中带有特殊字符:该字符utf-8不支持,所以我们这样做  将数据库的字符集改为utf8mb4

特殊字符是4字节的但是utf8最大字节数只有3  。utf8mb4是utf8的超集

如创建MySQL数据库

create database testdatabase charset utf8mb4;

django的settings中做如下配置,


# 数据库配置  开发用 数据库
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '127.0.0.1',  # 数据库主机
        'PORT': 3306,  # 数据库端口
        'USER': 'root',  # 数据库用户名
        'PASSWORD': 'mysql',  # 数据库用户密码
        'NAME': 'kolsite' , # 数据库名字
        'OPTIONS': {'charset': 'utf8mb4'}  # 字符集为utf8mb4
    }
}

猜你喜欢

转载自blog.csdn.net/p571912102/article/details/82806284