【发布时间】:2016-07-29 13:56:42
【问题描述】:
我在设置 mysql db 以正确识别 django 中的希腊字符时遇到问题。
setting.py
...
'OPTIONS': {
'charset': 'utf8',
'use_unicode': True,
}
...
我尝试使用windows-1253 和iso-8859-1 而不是charset 中的utf8,但没有结果。
我已经通过 CMD 在希腊语中成功存储了数据库记录,但是当我再次尝试通过 ORM 在 CMD 中执行相反的操作时,我得到了奇怪的字符。
【问题讨论】:
-
请这样做,看看它是否被正确存储:
SELECT col, HEX(col) ...。希腊语(在 utf8 中)十六进制应该是 2 个十六进制字节:CExx或CFxx。 -
数据正确存储在 MySQL 中(通过 phpmyadmin 可见),但我无法通过 Django ORM 正确提取它们。这仅适用于国际字符,而不适用于 ASCII。数据库排序规则是 utf8.unicode.ci
标签: mysql django character-encoding display