【问题标题】:How to print rupee symbol in Windows console using Python?如何使用 Python 在 Windows 控制台中打印卢比符号?
【发布时间】:2015-05-28 23:12:34
【问题描述】:

我想将印度卢比符号添加到程序中。这是一个针对 Windows 的非 GUI 程序,将作为 exe 从控制台运行。 (最后我会通过 pyinstaller 将其转换为 exe)。我尝试使用:

print unicode(u"\u20B9")+"12,500"

(取自http://www.fileformat.info/info/unicode/char/20b9/index.htm
它在 IDLE Interpreter 中运行良好,但是当我尝试从 cmd (Windows 7) 运行相同的代码时,它给出了错误:

Traceback (most recent call last):
  File "D:\My Programs\Projects\StockExchangeSim.py", line 9, in <module>
    print unicode(u"\u20B9")+"12,500"
  File "C:\Python27\lib\encodings\cp850.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u20b9' in position
 0: character maps to <undefined>

有没有办法解决这个问题?如果有,在其他windows电脑上使用会不会出问题?

【问题讨论】:

    标签: python unicode symbols


    【解决方案1】:
    raw_text = u"\u20B9"
    print(raw_text)
    

    【讨论】:

    • 也许你可以解释一下?
    • 为什么这个工作而不是原始源代码?
    【解决方案2】:

    最简单的解决方案可能是避免尝试将 Unicode 字符打印到 Windows 控制台。虽然它确实是seem possible,但在所有情况下处理它似乎都不是一件容易的事。

    我可以建议简单的解决方案

    print "12,500 Rupees"
    

    【讨论】:

    • 谢谢。我找不到你质疑你的链接,因为我只彻底搜索了卢比符号。
    【解决方案3】:

    为了使用 python 打印 'rupay',我们可以使用其各自的 unicode 表示,即 '\u20B9' 。为了打印 rupay,我们只需要执行以下操作:

    print(u'\u20B9')
    

    您将获得“rupay”符号。它与平台无关(如问题提到的窗口)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      • 2012-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多