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