Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django.db.utils.OperationalError:(1366,“不正确的字符串值)django mysql_Mysql_Django_Apache_Ubuntu - Fatal编程技术网

django.db.utils.OperationalError:(1366,“不正确的字符串值)django mysql

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%”这样的变量输出为: +--

您好,我创建了一个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%”这样的变量输出为:

+--------------------------+----------------------------+
| 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