这个问题确实困扰了我好久,上网查询了很多博客,发现大家的解决方案都千篇一律,无非是那几个方法。但是有些方法是针对不同版本的python设计的,我们应该明确我们的问题出在哪,再去找相应的解决方案。
首先,我们需要明确一点,python2.7的编码格式默认为“ascii”,而python3.6的编码格式为“utf-8”。意思就是,你在python2.1环境下生成的所有附加文件都是以python2.7的一套东西编码的,python3.6也同样。先来介绍网上的办法。
1.网上解决办法
if sys.getdefaultencoding() != 'utf-8':
reload(sys)
sys.setdefaultencoding('utf-8')
但用了这个方法的同学会发现,他会报关于reload函数的错误,这是因为,python3.6已经抛弃了reload和setdefaultendoding。所以如果你是python3.6用户,就别想这个方法了。
2.根本解决办法,是将你所需要的附加文件,在现行python版本下生成一遍方可解决这个问题。