django model.charfield - unicode或unicode

Mar*_*tin 4 django encoding django-models

我将我的项目转移到另一台计算机并在运行视图时出错.

我正在获取模型的一些信息,并希望使用XMLGenerator将它们保存到XML.

在一台计算机能正常工作,type()在的model.charField()回报"统一"

在新的计算机没有工作,type()在的model.charField()回报"STR"

工作计算机有Python 2.7.2

不工作的计算机有Python 2.5.2

所以在不工作的计算机上,我没有得到可以由XMLGenerator处理的unicode.我尝试通过在模型提供的字符串上运行.decode("utf-8")来解决这个问题,并且它有效.

但是我怎么知道字符串的编码是什么?我现在猜到它与数据库中的编码相同,但我是对的吗?

对马丁说

tib*_*rka 5

你能检查一下mysql整理设置吗?如果那些也一样?来自django doc:"在很多情况下,这个默认值不会有问题.但是,如果你真的想要对特定的列或表进行区分大小写的比较,你可以更改列或表以使用utf8_bin排序规则.主要的是在这种情况下要注意的是,如果你使用MySQLdb 1.2.2,那么Django中的数据库后端将为它从数据库接收的任何字符字段返回字节串(而不是unicode字符串). 请参阅django doc collat​​ion设置