首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将repoze.bfg配置为使用utf-8编码

将repoze.bfg配置为使用utf-8编码
EN

Stack Overflow用户
提问于 2011-05-24 19:38:06
回答 2查看 375关注 0票数 0

我使用的是repoze.bfg v1.3和变色龙v2 (zpt模板)。在呈现模板时,我在编码方面遇到了困难:

UnicodeDecodeError:'ascii‘编解码器无法解码位置9的字节0xc5 :序数不在范围内(128个)

如何将repoze.bfg配置为使用变色龙进行utf-8编码?

我在Configurator中添加了以下内容:

代码语言:javascript
复制
 config.add_settings(encoding="UTF-8")
 config.add_settings(default_encoding="UTF-8")

也帮不上忙。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-13 02:07:39

问题在变色龙使用的translationstring库中。虽然变色龙可以配置为使用不同的编码,但它把它得到的数据直接传递到翻译字符串。

构造函数中的Translationstring,其中它试图从它获得的数据中生成unicode。当数据是非ascii字节序列(python2.x中的str)时,就会出现错误。

解决方案是始终使用以下diff将unicode传递给转换字符串或更新库本身:

代码语言:javascript
复制
65c69
<        self = unicode.__new__(self, msgid)
--- patch
>       try:
>           self = unicode.__new__(self, msgid, "utf8")  # FIXED~
>       except Exception as e:
>           self = unicode.__new__(self,msgid)
票数 1
EN

Stack Overflow用户

发布于 2011-05-25 01:53:40

0xc5使用拉丁文1,python在utf-8中无法在不知道源编码的情况下转换它。

如果此字符串来自cgi窗体,请确保服务器设置正确的编码。

提示:

代码语言:javascript
复制
lynx -dump -mime_header http://url_of_the_page_with_the_form_to_compile|less

找些类似的东西

内容-类型: text/html;charset=UTF-8

如果字符集不是utf-8,您的配置是错误的,也许apache会重写您的设置?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6115889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档