代码一
print("中文")
报错描述
UnicodeDecodeError: 'utf8' codec can't decode byte 0xcc in position 468: invalid continuation byte
问题分析
print() 函数调用了 system.out.write()
system.out 对象的默认编码方式为 ASCII
ASCII 编码方式不支持中文
解决方案
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
print("中文")
代码二
open(filename, 'r')
报错描述
UnicodeDecodeError: 'utf8' codec can't decode byte 0xcc in position 468: invalid continuation byte
问题分析
当我们打开文件时,open()函数以默认的编码方式打开文件
解决方案
open(filename, 'r', encoding='utf-8')