問題描述
python2.X,代碼中指定了UTF-8,但是在cmd命令行窗口時,打印的中文仍然會亂碼
在python3不存在該問題

運行結果:

原因
搜索得知,中文windows默認的輸出編碼為gbk ,與腳本中定義的UTF-8不一樣,所以出現了解碼失敗的情況
解決方法
有如下兩種方法可以解決這個問題
方法一
我們可以通過先把中文解碼為unicode,然后在轉化為gbk來解決這個問題:

修改后運行結果:

方法二
當然,我們也可以通過改變cmd命令行窗口的輸出格式來解決這個問題,
- chcp 65001 就是換成UTF-8代碼頁
- chcp 936 可以換回默認的GBK
但是這樣就降低了腳本的兼容性,在其他環境運行的時候可能還會出現這樣的錯誤,
而且可能會影響其他腳本運行,所以推薦使用第一種方法
