运行网上下载的程序出现UnicodeDecodeError: 'gbk' codec can't decode

从网上下载了个现成的完成的程序,结果出现编码问题报错:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa3 in position 880: illegal multibyte sequence
曾经下载其他的部分程序也出现过类似问题,感觉不是程序本身的问题而是自己电脑的设置出了点问题

img

是程序和电脑的编码编码不适配问题,修改下即可。

代码最上面增加一行,看看可否

# encoding:gbk

原因是加载配置文件解码时失败,解码用的编码参数,跟实际文件的编码方式不匹配
可能是xxxx.yaml使用utf-8或者gb2312编码的,你的电脑是windows默认是gbk编码的,所以不匹配

解决方法1:修改decode函数参数
找一下调用decode函数的地方(报错的文件路径行数有的),改为
decode('utf-8','ignore') #使用utf-8解码并忽略错误的内容

解决方法2:修改默认编码
在main开头的地方加类似这样代码
import sys
reload(sys)
sys.setdefaultencoding("utf-8")

解决方法3:改报错的xxx.yaml文件编码
编辑文件,删掉里面的中文,只保留英文
或者
用Nodepad++之类的文本编辑软件修改编码

文件第一行加上这个就好了

# -*-coding:utf-8-*-

右下角UTF-8那里换个编码方式

应该是你的电脑的用户名是中文导致的,换个英文名吧:

把yaml配置的编码改成gbk,如果不想动代码。