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

时间:2015-03-25 10:24:07

标签: python unicode symbols

我想将印度卢比符号添加到程序中。这是一个针对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计算机上使用时是否会引起问题?

3 个答案:

答案 0 :(得分:2)

raw_text = u"\u20B9"
print(raw_text)

答案 1 :(得分:1)

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

我可以建议

的简单解决方案
print "12,500 Rupees"

答案 2 :(得分:0)

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

print(u'\u20B9')

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