gpt4 book ai didi

django model.charfield - unicode 或非 unicode

转载 作者:行者123 更新时间:2023-12-05 01:11:01 26 4
gpt4 key购买 nike

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

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

在一台计算机上它工作正常,type()model.charField()返回“unicode”

在新电脑上它不起作用,type()model.charField()返回“str”

工作电脑有Python 2.7.2

不工作的计算机有 Python 2.5.2

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

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

问候马丁

最佳答案

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

关于django model.charfield - unicode 或非 unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606140/

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