gpt4 book ai didi

python - 如何在 django 中的数据库 Mysql 中添加模型而不出现问题并使用 utf-8 编码?

转载 作者:行者123 更新时间:2023-11-29 16:05:38 25 4
gpt4 key购买 nike

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

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

我认为这是编码的问题。

Mysql编码为latin1,改为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的数据库中的所有表中都找不到带有这个模型的表。我不明白什么?

最佳答案

我假设你在期待Дим...

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) ...。手头可能存在更严重的问题,以及其他需要改变的事情。有(至少)两种方法可以修复架构,一种方法是“正确的”,其余的会使事情变得更糟。

关于python - 如何在 django 中的数据库 Mysql 中添加模型而不出现问题并使用 utf-8 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55774108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com