我一直在尝试在Python 3中打印Unicode字符,但它不起作用,我一直在寻找stackoverflow上的解决方案,但没有任何作用。我有类似的东西。
print('This is a Unicode character: Ⱥ')
但我收到此错误消息:
我知道Python 3使用UTF-8作为默认编码,但我不知道我在这里做错了什么。
答案 0 :(得分:0)
要正确打印Unicode字符,您需要以下内容:
Python必须知道源代码才能理解源代码中的非ASCII字符。 Python 3假设为UTF-8,除非另有说明,文件顶部有一个特殊注释,例如#coding: cp850
。请注意,源编码和终端编码不必相同,只要源文件实际上以保存以UTF-形式使用UTF-8就可以了。 8。
控制台的编码必须支持Unicode字符。
'string'
是一个Unicode字符串。 b'string'
是一个字节字符串。由于您的错误消息表明控制台正在使用Code page 850,因此如果您尝试打印该代码页不支持的任何字符,您将获得UnicodeEncodeError
。
试试这个。这些是合法的cp850
字符:
print('╔═╦═╗')
print('║ ║ ║')
print('╠═╬═╣')
print('║ ║ ║')
print('╚═╩═╝')
这适用于支持行绘制字符的任何控制台/ IDE上的Python 3。美国Windows控制台使用cp437
,而欧洲Windows通常使用cp850
,但两者都定义了字符,控制台字体支持它们。