Django makemessages错误未知编码“utf8”

2024-06-25 06:42:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这里搜索了一下,还用谷歌搜索了一下!但没有成功找到解决方案,我真的不懂python,但可以安装python从百胜分离。

现在,我需要重新编译OSQA系统的语言包,但是得到以下消息:

Error: errors happened while running xgettext on __init__.py
xgettext: ./Django-1.2.3/tests/regressiontests/views/__init__.py:1: Unknown encoding "utf8". Proceeding with ASCII instead.
xgettext: Non-ASCII string at ./Django-1.2.3/tests/regressiontests/views/__init__.py:7.
          Please specify the source encoding through --from-code or through a comment
          as specified in http://www.python.org/peps/pep-0263.html.

我尝试过,但没有成功地解决它,在manage.py文件中将encode设置为utf-8,但也没有成功。

有人能给我一个光来解决它吗?:(一)

谢谢,并致以最良好的问候!


Tags: djangopy消息init系统asciitests解决方案
3条回答

我知道这篇文章已经过时了,但我今天也遇到了同样的问题,我花了几个小时才找到原因。也许人们会遇到同样的情况:

我的virtualenv在我的django根目录中:

这是我的项目树:

Django目录:

  • 我的嫉妒
  • Django_应用1
  • Django_应用2
  • 。。。
  • 。。。
  • 管理.py

当我启动命令时:

./manage.py makemessages -l fr 

我得到同样的错误:

Error: errors happened while running xgettext on __init__.py
...

事实上,我注意到xgettext查看了我文件夹中的所有文件以及我的环境中的文件。

所以我找到了-I标志,它在makemessages过程中忽略文件或文件夹

所以现在,有了下面的命令,它就像一个符咒,我再也不会犯错了。

./manage.py makemessages -l fr -i my_env

希望能有帮助

实际上是的,我在makemessages上也遇到过类似的问题,因为在每个源文件的顶部我都写了“#coding:utf8”。尽管它可以用于源代码编译,但我不得不在每个文件中将“utf8”替换为“utf-8”。

如果不用于生成消息,请处理应用于格式化字符串的gettext函数,当存在多个占位符时,需要字符串来包含命名参数。 %s是好的 “%(max)s”也很好 “%(最小值)s%(最大值)s”也是 %s%s“不正常。

我在http://code.djangoproject.com/ticket/15980为这个创建了一个票据。

这似乎是Django代码中的一个简单错误,问题是python将“utf8”视为“utf-8”的别名,而xgettext则不这样做。从SVN中的Django r16169(05/06/11 12:49:06)开始,问题仍然存在。

编辑:该问题已在Django源中修复(截至2011年5月)。

相关问题 更多 >