Python:向Windows控制台发送一些Utf-8字符串

Mel*_*oun 5 python encoding windows-console

可能重复:
Python,Unicode和Windows控制台

我从文件中读取了一些字符串,当我尝试在Windows控制台中打印这些utf-8字符串时,我收到错误

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 0: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我试图用"chcp 65001"将控制台编码设置为utf-8 但是比我得到这个错误消息

LookupError: unknown encoding: cp65001
Run Code Online (Sandbox Code Playgroud)

Jir*_*iri 3

建议你去stackoverflow上查一下类似的问题,有很多。

无论如何,你可以这样做:

  1. 以任何编码(例如 utf8)从文件中读取,但将字符串解码为 un​​icode
  2. 对于 Windows 控制台,输出unicode字符串。在这种特殊情况下,您不需要进行编码。您无需设置控制台编码,输出文本将自动正确编码。

对于文件,您需要使用编解码器模块或以正确的编码进行编码。