首先需要說明的是,windows下的文件路徑,cmd窗口等默認編碼都是gbk
但在windows下編寫python程序的時候,我們一般采用的編碼是utf-8
二者不一致是導致亂碼的根本原因!
在pycharm下,為了中文不亂碼,那么需要注意一下幾個方面:
一、每一個源程序文件頭部,需要加上
#-*-coding:utf-8-*-
二、pycharm每個文件的編碼設置,需要設置為utf-8(注意下圖右下方的紅框!)
二、pycharm中 file——>settings——>editor——>file encodings 下圖選項都選擇utf-8
上述三個地方的編碼都選擇utf-8后,pycharm源代碼文件中的中文以及pycharm控制台的中文亂碼問題得到解決。然而,如果程序不是通過pycharm執行,而是通過windows控制台執行的話,依舊會有亂碼
此時的解決方案,要么讓三個地方的編碼方式(有直接影響的,其實是源代碼文件的編碼方式)都更改為gbk,要么更改控制台的編碼。
在utf-8編碼的python程序中讀取windows下的目錄,在python2.7下,需要進行編碼轉換:諸如decode('utf-8')
如果碰到其他亂碼問題,不放嘗試下不同編碼之間的轉換,諸如:
.decode('gb2312').encode('utf-8')
或者反之