我从文件中读取了一些字符串,当我尝试在 Windows 控制台中打印这些 utf-8 字符串时,出现错误
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 0: ordinal not in range(128)
我尝试使用“chcp 65001”将控制台编码设置为 utf-8 但我收到此错误消息
LookupError: unknown encoding: cp65001
我从文件中读取了一些字符串,当我尝试在 Windows 控制台中打印这些 utf-8 字符串时,出现错误
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 0: ordinal not in range(128)
我尝试使用“chcp 65001”将控制台编码设置为 utf-8 但我收到此错误消息
LookupError: unknown encoding: cp65001
我建议你在 stackoverflow 上查看类似的问题,其中有很多。
无论如何,你可以这样做:
对于文件,您需要使用编解码器模块或以适当的编码进行编码。
print 命令尝试将 Unicode 字符串转换为控制台支持的编码。尝试:
>>> import sys
>>> sys.stdout.encoding
'cp852'
它向您展示了控制台支持的编码(告诉 Python 支持什么)。如果字符无法转换为该编码,则无法正确显示。