django2.2 + mysql + pymysql: django.db.utils.InternalError: (1366, "Incorrect string value 解决方案

2023-02-18 14:42:18 浏览数 (1)

现象:

部分含 emoji 表情的字符无法存入 mysql

前提:

数据库已设置字符格式 utf8mb4

错误信息:

解决方案:

django settings.py 配置  DATABASES -> OPTIONS 下的 "charset": 'utf8mb4'

代码语言:javascript复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydb',
        'USER': 'mydb',
        'PASSWORD': 'mydb',
        'HOST': '192.168.0.101',
        'PORT': '3306',
        'OPTIONS': {
            "charset": 'utf8mb4',  # 设置这里
        }
    }
}

0 人点赞