在Django管理(使用PostgreSQL)UnicodeDecode错误使用Linux中的特殊字符时

我一直在使用我的Windows下,同时应用程序的psql / Django的堆栈没有任何问题的。

然而,最近我切换到Linux操作系统中,许多地方开始打破。 作为一个西班牙语的人我的应用程序使用了大量的特殊字符,如“A”或“N”。 当然,我决定,我的数据库和default_encoding应该是UTF-8,以避免任何有趣的问题。

然而,即使应用程序显示了谁了特殊字符的对象没有问题,管理员开始有许多问题。 每当一个元素,其显示名称已经特殊字符是牵强,我会得到一个可怕的:

在35位的UnicodeDecodeError在/ ajax_select / ajax_lookup /图片“ASCII”编解码器不能解码字节0xc3:序数不在范围内(128)

从本质上讲,Django的尝试获取unicode()这些元素和悲惨的失败。 我可能失去了一些东西,因为它在我的Windows中没有这样的问题,所以,基本上是:

  1. PostgreSQL数据库的编码是UTF-8在这两个地方(字符类型和校对规则是不完全一样的,但我不认为应该作出任何区别:English_United States.1252主场迎战的en_US.UTF-8
  2. Apache是​​不是罪魁祸首(也不是我不明白怎么可能),因为这与Django开发服务器发生得。
  3. Django的默认为UTF-8,因为正如我所说,我完全可以在应用程序的其他地方看到的特殊字符,这是真实的,它只是失败与管理几个具体的方案。

我已经跑出来的想法,应该是什么和错误在于Django管理代码的中间很难调试,但大多是在崩溃str()或者unicode()函数。

这个问题的核心是:在Windows str('árbol') ='ARBOL“。 在Linux中str('árbol')崩溃。

任何想法将非常感激。

--------------解决方案-------------

什么是输出,如果你运行locale从命令行? 我怀疑这是不是设置为UTF-8。

我可怕通过Django的smart_str()每一个可能有一个奇怪的字符串和应用过滤器更换为新的字符串,以便每个字符会被其对应的ASCII码替代解决它。 它的工作在大多数情况下,但它提出了一些代码看起来狰狞。 啊,这就是生活。

分类:Django的 时间:2012-01-01 人气:0
分享到:

相关文章

  • 在PostgreSQL + Django的+南第一步 2013-12-29

    喜的人#1, 在过去,我总是开发了我的Django项目与当地SQLite作为数据库平台. 现在,我想转移到PostgreSQL以利用地理信息系统的功能,但过渡给了我巨大的悲痛. 我已经安装了类似这样的帖子PostgreSQL和再其次为创建数据库的GeoDjango内置描述. 此外,我换成了模型类通过 from django.contrib.gis.db import models 并添加 geolocation = models.PointField(_('Geo Location'), geo

  • iPhone绘文字Unicode编码UTF 2013-02-26

    我的Unicode编码字符的表情符号转换为字符串,并加载到这一点网页视图.. 对于编码我使用"NSUTF8StringEncoding"但表情符刚露面,我需要什么样的编码所以Δ¬ÓÔÓ˝作为jiberish Unicode的符号? --------------解决方案------------- NSUTF32StringEncoding做的伎俩,以前没有看到它的编码就行了.

  • Unicode的问题在Python和Django的 2014-04-27

    我有一个函数client_groups在一个模型,返回"组"对象的列表: return self.userprofile.client.get_groups() 例 :返回的列表 [<Group: Finance>, <Group: Recepção>,...] 如果我只是一个外壳打印这些通常,如, print groups[1]它显示了正确的事情,这就是"Recepção" 这个函数在我admin.py使用,我list_display元组.

  • MySQL的“不正确的字符串值”错误时保存在Django unicode字符串 2014-07-18

    我奇怪的错误消息,当试图挽救名字,姓氏为Django的AUTH_USER模型. 失败的例子 user = User.object.create_user(username, email, password) user.first_name = u'Rytis' user.last_name = u'Slatkevičius' user.save() >>> Incorrect string value: '\xC4\x8Dius' for column 'last_name' at ro

  • SQLite的,蟒蛇,Unicode和非UTF数据 2013-08-26

    我开始使用蟒蛇试图在sqlite的存储字符串,并得到了消息: sqlite3.ProgrammingError:不得使用8位字节串,除非您使用text_factory可以解释8位字节串(如text_factory = STR). 强烈建议您改为只需切换您的应用程序Unicode字符串. 好吧,我切换到Unicode字符串. 然后,我开始收到消息: sqlite3.OperationalError:无法与文本解码为UTF-8列'tag_artist'西格尔罗斯" 当试图检索从DB数据. 更多的研究

  • 你怎么把一个文件在Django的夹具? 2014-11-09

    我可以随便填一个Django夹具与文件名的FileField或ImageField字段的领域,但该文件不存在,当我尝试测试我的应用程序失败,因为该文件不存在. 我该如何正确地填充一个Django固定物的FileField或ImageField字段,以便该文件本身可以吗? --------------解决方案------------- 恐怕简单的答案是,你不能使用的FileField或ImageField字段类做到这一点; 他们只存储一个文件路径,并有该文件的实际数据没有真正的概念. 长的答案,但

  • KeyError异常与Django的,孤立的应用程序和重音符号? 2012-03-27

    我有我的重音字符的问题. Django管理可以节省我的数据,而无需编码,以类似á 例如:如果我尝试用一个词像"Canción",我想它来保存这样: Canción而不是Canción. 我在我的地点DEFAULT_CHARSET = 'utf-8' 我在我的MySQL数据库utf8_general_ci 我使用的应用程序珩: {% load sociable_tags %} {% get_sociable Facebook TwitThis Google MySpace del.ici

  • UTF-8 Unicode转换 2012-04-06

    我有转换UTF-8为Unicode问题. 下面是代码: int charset_convert( char * string, char * to_string,char* charset_from, char* charset_to) { char *from_buf, *to_buf, *pointer; size_t inbytesleft, outbytesleft, ret; size_t TotalLen; iconv_t cd; if (!charset_from || !char

  • Python中的Unicode%HH转义 2012-06-10

    所有, 我的工作有标准的Latin-1字符和其他语言混合的应用程序. 我想一切都转换为相同的"格式",使必应翻译可以把它理解. 有迹象表明,我已经看了两篇文章. https://dev.laptop.org/ticket/2327我其实想做这个反向并转换这个http://ar.wikipedia.org/wiki/حاسوب这个http://ar.wikipedia.org/维基/ D8%AD%D8%A7%D8%B3%D9%88%D8%A8% 类似的文章,但不完全是我一直在寻找. 如何

  • Objective-C的如何获得Unicode字符 2012-06-20

    我希望得到Unicode码点在Objective-C给定的Unicode字符. NSString的表示,它内部采用UTF-16编码,说: NSString类有两个原始的方法,长度和characterAtIndex: - 即在其接口的所有其他方法提供依据. 长度方法返回Unicode字符字符串中的总数. characterAtIndex:给出了索引访问每个字符字符串中,用从0开始的索引值. 这似乎假设characterAtIndex方法是unicode知道. 然而,它返回将unichar是一个16

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.008 (s). 10 q(s)