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