- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Windows 下为我的应用程序使用 psql/django 堆栈已经有一段时间了,完全没有任何问题。
但是,最近我换了一个linux box,很多地方开始崩溃了。作为一名讲西类牙语的人,我的应用程序使用了很多特殊字符,如“á”或“ñ”。当然,我决定我的数据库和 default_encoding
应该是 UTF-8 以避免任何有趣的问题。
尽管如此,即使应用程序在显示具有特殊字符的对象时没有问题,管理员也开始遇到很多问题。每当获取显示名称具有特殊字符的元素时,我都会得到一个可怕的消息:
UnicodeDecodeError at /ajax_select/ajax_lookup/images'ascii' codec can't decode byte 0xc3 in position 35: ordinal not in range(128)
本质上,Django 试图获取这些元素的 unicode()
,但不幸地失败了。我可能遗漏了一些东西,因为它在我的 Windows 框中没有这样的问题,所以,本质上:
PostgreSQL 数据库编码在两个地方都是 UTF-8(字符类型和排序规则不完全相同,但我认为这不会有任何区别:English_United States.1252 vs. en_US.UTF-8
Apache 不是罪魁祸首(我也不知道怎么可能),因为 django 开发服务器也会发生这种情况。
Django 默认为 UTF-8,这是真的,因为正如我所说,我可以在应用程序的其他地方完美地看到特殊字符,它只是在管理员的一些特定场景中失败。
我已经想不出应该是什么了,由于错误存在于 django 管理代码中,因此很难调试,但大多数情况下它会在 str()
或unicode()
函数。
问题的核心是:在windows中str('árbol')
= 'árbol'。在 Linux 中 str('árbol')
崩溃。
如有任何想法,我们将不胜感激。
最佳答案
如果从命令行运行 locale
,输出是什么?我怀疑它没有设置为 UTF-8。
关于django - 在 Linux 中使用特殊字符时 Django Admin 出现 UnicodeDecode 错误(使用 postgresql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6436102/
我在 Windows 上使用 Google App Engine devserver 1.3.5 和 Python 2.5.4 时遇到奇怪的错误。 CSV 中的示例行: EQS,550,foobar,
我在 Windows 下为我的应用程序使用 psql/django 堆栈已经有一段时间了,完全没有任何问题。 但是,最近我换了一个linux box,很多地方开始崩溃了。作为一名讲西类牙语的人,我的应
我是一名优秀的程序员,十分优秀!