python windows平台乱码问题

109 阅读1分钟

SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xcf in position 0: invalid continuation byte

文件为UTF-8格式,有两份文件 ,一份正常在CMD里输出中文件,一份执行报上面的错误。

尝试将..py文件转换为ASCII编码也没能解决。

最终排查原因

有问题的文件存在如下问题:

1. 有BOM头, 使用NOTEPAD++可以转换。  菜单--编码--使用UTF-8编码

  1. PYTHON脚本中增加了sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') 导致。在windows平台运行utf-8编码的文件 ,不需要此句。