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

Posted

技术标签:

【中文标题】如何使用 Python 在 Windows 控制台中打印卢比符号?【英文标题】:How to print rupee symbol in Windows console using Python? 【发布时间】: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电脑上使用会不会出问题?

【问题讨论】:

【参考方案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”符号。它与平台无关(如问题提到的窗口)

【讨论】:

以上是关于如何使用 Python 在 Windows 控制台中打印卢比符号?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Windows控制台中显示utf-8

如何使用 python Tkinter 隐藏 Windows 控制台?

如何将 Python 3 控制台应用程序打包为 Windows 二进制文件?

如何在 Windows GUI 应用程序中将嵌入式 Python 连接到控制台的 I/O?

如何在 Windows 下编译 OpenSSL

如何在Windows下编译OpenSSL