在 django + mysql 中输入表情符号失败,即使 utf8mb4_unicode_ci
Entering emoji fails in django + mysql even with utf8mb4_unicode_ci
我正在尝试将表情符号插入到我的 django + MySQL 应用程序的 title
列中。我已经进入 PhpMyAdmin 并执行了以下操作:
- 将列的字符集更改为
utf8mb4_unicode_ci
- 插入了一个表情符号
但是当我在 django 管理中打开这个对象时,表情符号不见了:
如果我尝试输入表情符号并保存,则会出现此异常:
MySQLdb._exceptions.OperationalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x92\\xA9' for column 'title' at row 1")
我错过了什么?
缺少 mysql 数据库的 charset
选项
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
...
'OPTIONS': {
...
'charset': 'utf8mb4',
},
}
}
我正在尝试将表情符号插入到我的 django + MySQL 应用程序的 title
列中。我已经进入 PhpMyAdmin 并执行了以下操作:
- 将列的字符集更改为
utf8mb4_unicode_ci
- 插入了一个表情符号
但是当我在 django 管理中打开这个对象时,表情符号不见了:
如果我尝试输入表情符号并保存,则会出现此异常:
MySQLdb._exceptions.OperationalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x92\\xA9' for column 'title' at row 1")
我错过了什么?
缺少 mysql 数据库的 charset
选项
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
...
'OPTIONS': {
...
'charset': 'utf8mb4',
},
}
}