Python 无法print中文 print中文报错

当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:
    ......