解决:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb1 in position 1142: invalid start byte

目录

操作描述

错误现象

原因分析

解决方案1

解决方案2

执行结果


操作描述

利用configparser库函数,读取配置文件中的字段,就是反复报错,什么编解码出问题。找了一圈教程,没有找到有效的解决方案,不过最终还是解决了,把解决思路写在下面供参考。

错误现象

图1 

原因分析

把原有的配置文件复制到了另外一个文件夹,并用记事本打开重新保存了一下,然后调用复制过去的配置文件就报如上图1 的错误;

调用源路径下的配置文件就不会出问题,所以怀疑这个操作过程出现了编解码不一致的问题,所以导致UnicodeDecodeError问题。

想到这里,我重新把源文件夹下的配置文件,复制到新的地址,然后直接调用,发现程序执行正常。

解决方案1

点击[pycharm]中的settings, 点击[File Encodings] 进入如下界面

注意如下位置,全部改成UTF-8

 

解决方案2

如果解决方案1,还是不行,再给大家说一个方法,确保万无一失。在需要配置文件的package名,右击选择[New]新建[File]

 详细如下操作

 然后点击【OK】,完成配置文件创建,如此可以保证配置文件的编码是按照pycharm设置的编码方式进行的。

执行结果

修改完成后,再次执行程序,调用配置文件结果如下: 

图2 

从图2执行结果看,上述分析是正确的,打开文件在保存过程一定要看清楚编解码方式,选择正确的编码方式,推荐一个网址:在打开和保存文件时选择文本编码,如果有这方面更好的解释,麻烦留言交流~

希望对看到的你有所帮助,祝好~