当print中文时报错
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-16: ordinal not in range(128)
这是由于系统的默认编码为 ASCII 编码,无法print出UTF-8编码的中文
如何解决?
在需要print的文件中加入以下代码
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
便可以无报错输出中文了
类似问题
写入文件时,发生类似报错。需要手动指定编码类型为 utf-8
encoding=’utf-8′
with open(......, encoding='utf-8') as file:
......