如何使用 Python 在 Windows 控制台中打印卢比符号?

Abh*_*nav 5 python unicode symbols

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

print unicode(u"\u20B9")+"12,500"
Run Code Online (Sandbox Code Playgroud)

(取自http://www.fileformat.info/info/unicode/char/20b9/index.htm
它在 IDLE 解释器中运行良好,但是当我尝试从 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>
Run Code Online (Sandbox Code Playgroud)

有没有办法处理这个问题?如果有的话,在其他windows电脑上使用会不会有问题?

小智 6

raw_text = u"\u20B9"
print(raw_text)
Run Code Online (Sandbox Code Playgroud)

  • 也许你可以解释一下? (2认同)

Tri*_*son 1

最简单的解决方案可能是避免尝试将 Unicode 字符打印到 Windows 控制台。虽然这看起来确实有可能,但在所有情况下处理起来似乎都不是微不足道的。

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

print "12,500 Rupees"
Run Code Online (Sandbox Code Playgroud)