這個問題確實困擾了我好久,上網查詢了很多博客,發現大家的解決方案都千篇一律,無非是那幾個方法。但是有些方法是針對不同版本的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版本下生成一遍方可解決這個問題。