试图在Windows上用Python打印复选标记U + 2713会产生UnicodeEncodeError

时间:2014-08-16 18:28:36

标签: python python-2.7 unicode printing

我已阅读Print the "approval" sign/check mark (✓) U+2713 in Python,但这些答案都不适合我。我在Windows上运行Python 2.7。

print u'\u2713'

产生此错误:

  

exceptions.UnicodeEncodeError:'charmap'编解码器无法编码位置0-1中的字符:字符映射到

此:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
print '✓'

不起作用,因为我使用的是Windows。

print u'\u2713'.encode('utf8')

打印出“”“,这不是正确的角色。

print('\N{check mark}')

真傻。这按字面打印\N{check mark}

1 个答案:

答案 0 :(得分:1)

阅读http://www.joelonsoftware.com/articles/Unicode.html,您将了解正在发生的事情。

坏消息是:您将无法打印该字符,因为它在Windows终端的默认文本编码中根本不可用。修改您的终端配置使用“utf-8”而不是默认的“cp-852”或者这些天的默认窗口cmd,你应该很好,但只有阅读后才这样做上面的文章,认真。