Python - ' charmap'编解码器不能对字符' \ xe3'进行编码。

时间:2016-01-19 02:16:25

标签: python python-3.x unicode

当我在IDLE中键入它时,它可以工作:

>>> print('ã')
ã

但是当我尝试运行代码(python main.py)时,它给了我这个错误:

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    print('\xe3')
  File "C:\Users\Gustavo\AppData\Local\Programs\Python\Python35\lib\encodings\cp437.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\xe3' in position 0: character maps to <undefined>

这里是main.py的代码:

print('ã')

请帮帮我。

1 个答案:

答案 0 :(得分:0)

看起来您正在使用美国英语语言环境Windows控制台运行,该控制台使用代码页437对其输出进行编码。代码页437不支持字符ã

您可以使用win-unicode-console等第三方库或切换代码页。代码页1252有效:

C:\>chcp 1252
C:\>python main.py
ã

不幸的是,Windows控制台对UTF-8等编码的支持很差,这些编码支持整个Unicode字符范围,因此最好坚持使用支持UTF-8的IDE。