【问题标题】:Python gettext: convert Unicode literals into textPython gettext:将Unicode文字转换为文本
【发布时间】:2011-11-30 15:02:45
【问题描述】:

我在 Windows 中工作。 Python 2.7.2 我有一个模块,我必须在其中使用 gettext 翻译一些消息。 所以我创建了 UTF-8 no BOM *.po 文件,用它制作 *.mo 并使用如下代码:

 t = gettext.translation('index','./locale',  languages=['ru'])
_= t.ugettext
t.install()

结果我有这样的事情:

(u'\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430')

如何将其转换为普通的 UTF-8 文本?

【问题讨论】:

  • 你想在哪里显示这个文本?
  • 在控制台中通过打印。如果我将其显示到 Web 模板中,一切正常。
  • 为了最简单的用法,使用print函数会输出相关编码的文本。所以print u'\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430' 会给出一个可读的输出。
  • gettext 已经发送 u'...' 打印
  • 你得到了什么exact输出,你期望得到什么exact输出?

标签: python windows unicode internationalization gettext


【解决方案1】:

如何将其转换为普通的 UTF-8 文本?

这是一个错误的问题。 :) 它已经是 UTF-8 文本...您要了解的是如何将其显示为字母字符。在任何使用字符串作为视觉输出的东西中,这应该是自动的。最简单的情况,print 函数(或语句)。

>>> print u'\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430'
системная ошибка

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-03
    • 2015-12-26
    • 1970-01-01
    • 2021-11-27
    • 2018-08-28
    • 2019-04-19
    • 2011-07-14
    • 2010-11-06
    相关资源
    最近更新 更多