Python Django{%trans%}模板标记给出DjangoUnicodeDecodeError
我们正在尝试在Django 1.7.4 web应用程序中实现i18n。 已成功创建.mo和.po文件, 希伯来文.po文件:Python Django{%trans%}模板标记给出DjangoUnicodeDecodeError,python,django,utf-8,internationalization,Python,Django,Utf 8,Internationalization,我们正在尝试在Django 1.7.4 web应用程序中实现i18n。 已成功创建.mo和.po文件, 希伯来文.po文件: #: templates/community/profile.html:109 msgid "Games" msgstr "משחקים" 有些包含希伯来文字符(非ascii), 我创建了一个只有以下内容的小模板: {% load i18n %} {% trans "Games" %} 获取错误: DjangoUnicodeDecodeError at /commun
#: templates/community/profile.html:109
msgid "Games"
msgstr "משחקים"
有些包含希伯来文字符(非ascii),
我创建了一个只有以下内容的小模板:
{% load i18n %}
{% trans "Games" %}
获取错误:
DjangoUnicodeDecodeError at /community/testtrans/
'ascii' codec can't decode byte 0xd7 in position 0: ordinal not in range(128). You passed in <django.utils.functional.__proxy__ object at 0x05A29550> (<class 'django.utils.functional.__proxy__'>)
djangonecodedecodeError位于/community/testtrans/
“ascii”编解码器无法解码位置0:序号不在范围(128)中的字节0xd7。你通过了()
我注意到生成的.PO文件编译为ASCII,尝试更改为UTF-8,没有帮助
这些测试通过得很好:
- 直接在HTML文件中写入希伯来语文本
- 传递视图参数
,然后使用viewParams['trans_games']={(“games”)
{{trans_games}}
"Content-Type: text/plain; charset=UTF-8\n"
很不幸你被否决了。在使用i18n信息多年后,我今天遇到了这个问题。在我的头撞到墙上之后,从来没有遇到过这个问题,我最终通过谷歌发现了这个Q+A。将上述行添加到我的PO文件的元数据中,为我解决了这个问题(Django 1.9)。另请参见此处的元数据: