我使用 Python/Django 连接 MySQL。
当我在Mysql中存储中文字符串时,我得到乱码。
发生了什么?
我已经设置了 Django 项目的 settings.py
,并且 ENCODING
键设置为 utf-8
。我做错了什么?
这是我在 settings.py
中的 DATABASES
变量:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '127.0.0.1',
'PORT': 3306,
'NAME': 'admindb1',
'USER': 'root',
'PASSWORD': 'root',
'ENCODING': 'utf-8',
}
}
最佳答案
您需要了解数据库/表/列级别的字符集/排序规则设置。列级设置优先于其他设置。因此,我提供了可用于在数据库的每个级别执行这些更改的命令。
检查您当前的配置(数据库):
显示创建数据库db_name;
检查您当前的配置(表):
在 name='tbl_name' 处显示表状态
检查您当前的配置(列):
显示 tbl_name 的完整列;
更改字符集/排序规则(数据库):
更改数据库 db_name 默认字符集 utf8;
更改字符集/排序规则(表):
更改表 tbl_name 默认字符集 utf8;
更改字符集/排序规则(列):
更改表 tbl_name 转换为字符集 utf8;
关于python - MySQL存储中文单词时,变成乱码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29713228/