如何在Django的数据库Mysql中添加模型而不出现问题并使用utf8编码?

2024-04-29 00:15:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于Django和Mysql的项目。数据库是使用命令“python manage.py inspectdb”从另一个项目导入的 用英语和俄语符号一切正常。 我添加了easy模型并移植了它。此模型仅适用于英语符号,但不适用于俄语符号

错误: “异常类型:操作错误 异常值:
(1366,“不正确的字符串值:'\xD0\x94\xD0\xB8\xD0\xBC…'用于第1行的列'title')”

我认为这就是编码的问题

Mysql编码是拉丁文1,改为utf-8,但错误没有解决

mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

mysql> SHOW VARIABLES LIKE 'collation%';
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_unicode_ci |
| collation_server     | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)

请帮助我在这个模型中使用俄语符号

另一个问题:这个模型被迁移了,我可以在django管理中看到,但是我在mysql数据库的所有表中都找不到有这个模型的表。我不明白什么


Tags: 项目模型ci数据库编码show错误mysql
1条回答
网友
1楼 · 发布于 2024-04-29 00:15:53

我猜你在期待Дим...

Django需要

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        ...
        'OPTIONS': {
                    'charset': 'utf8',
                    'use_unicode': True, },
    },
}

(或utf8mb4)

Mysql encoding was latin1 and changed to utf-8

你是怎么改变的?请在其中一个表上提供SHOW CREATE TABLE。对一个应该显示西里尔文的小样本做SELECT col, HEX(col) ...。可能有更糟糕的问题在手,和其他事情需要改变。有(至少)两种方法来修复模式,一种是“正确的”,另一种是使事情变得更糟

相关问题 更多 >