正在尝试打印复选标记U+;Windows上Python中的2713生成UnicodeDeer错误

正在尝试打印复选标记U+;Windows上Python中的2713生成UnicodeDeer错误,python,python-2.7,unicode,printing,Python,Python 2.7,Unicode,Printing,我已经通读了,但没有一个答案对我有用。我正在Windows上运行Python 2.7 print u'\u2713' 产生以下错误: 异常。UnicodeEncodeError:“charmap”编解码器无法对位置0-1中的字符进行编码:字符映射到 这: 不工作,因为我正在使用Windows print u'\u2713'.encode('utf8') 打印出–œ“,这不是正确的字符 print('\N{check mark}') 太傻了。这会逐字打印出\N{check mark}。阅读,

我已经通读了,但没有一个答案对我有用。我正在Windows上运行Python 2.7

print u'\u2713'
产生以下错误:

异常。UnicodeEncodeError:“charmap”编解码器无法对位置0-1中的字符进行编码:字符映射到

这:

不工作,因为我正在使用Windows

print u'\u2713'.encode('utf8')
打印出–œ“,这不是正确的字符

print('\N{check mark}')
太傻了。这会逐字打印出
\N{check mark}

阅读,你就会明白发生了什么


坏消息是:您将无法打印该字符,因为它在Windows终端的默认文本编码中不可用。请将终端配置修改为使用“utf-8”而不是默认的“cp-852”或者,现在Window的cmd默认值是什么,你应该很好,但必须认真阅读上述文章后才能这么做。

感谢你做了一些研究,并准确解释了为什么其他问题的答案对你没有帮助。不过,你不必太咄咄逼人。:)注意,这似乎是假设Python 3,因此忽略了重要的一点。原则上是正确的,除了您实际上无法将Windows命令提示符设置为UTF-8。(您可以尝试代码页65001,但MSVCRT中存在严重的错误,使其无法使用。)
print('\N{check mark}')