django.db.utils.OperationalError:(1366,“不正确的字符串值)django mysql
您好,我创建了一个django项目,并尝试将其部署在带有mysql数据库的ubuntu apache服务器上 但是当我运行django.db.utils.OperationalError:(1366,“不正确的字符串值)django mysql,mysql,django,apache,ubuntu,Mysql,Django,Apache,Ubuntu,您好,我创建了一个django项目,并尝试将其部署在带有mysql数据库的ubuntu apache服务器上 但是当我运行python3 manage.py migrate时,我得到了以下错误: django.db.utils.OperationalError:(1366,“第1行“名称”列的字符串值不正确:'\xD9\x88\xDB\x95\xD8\xB3…) 我只有一列名为name=models.CharField(最大长度=30) 当我运行时,显示像“char%”这样的变量输出为: +--
python3 manage.py migrate
时,我得到了以下错误:
django.db.utils.OperationalError:(1366,“第1行“名称”列的字符串值不正确:'\xD9\x88\xDB\x95\xD8\xB3…)
我只有一列名为name=models.CharField(最大长度=30)
当我运行时,显示像“char%”这样的变量代码>输出为:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
在my/etc/mysql/my.cnf
中,我设置了[client]默认字符集=utf8
有什么我错过的吗 utf8编码只支持每个字符三个字节,因此,您不能在具有utf-8字符集的MySQL中存储4字节字符
欲了解更多信息,请阅读
1.更改MySQL数据库、表和列以使用utf8mb4字符集
2.在您的设置中.py
DATABASES = {
'default': {
'ENGINE':'django.db.backends.mysql',
...
'OPTIONS': {'charset': 'utf8mb4'},
}
}
因此,您必须将其更改为utf8mb4