Django - MySQL中存储表情字符

原因:  MySQL里 utf8 编码最多支持3个字节, 表情却需要4个字节, 所以报错, 而 utf8mb4 编码最多支持4个字节, 所以改成 utf8mb4 后即可

 

解决: 

1. 修改 mysql 数据库字段编码为 utf8mb4

alter table table_name modify column content longtext character set utf8mb4;

// alter table 表名 modify column 存储表情的字段名 字段类型 character set utf8mb4;

 

2. settings.py ,  添加配置  'OPTIONS': {'charset':'utf8mb4'} 

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'database_name',
        'USER': 'user',
        'PASSWORD': 'pwd',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {'charset':'utf8mb4'},
    }
}

 

posted @ 2021-12-13 18:05  _Q  阅读(178)  评论(0编辑  收藏  举报