1. 程式人生 > >Sublime Text3 編譯後無法正常顯示中文的問題修復

Sublime Text3 編譯後無法正常顯示中文的問題修復

一、亂碼現象

利用sublime自帶編譯快捷方式ctrl+B會出現中文亂碼的情況

print("沒有迴圈資料!")
print("完成迴圈!")


二、尋找原因

1、由於之前我已經安裝了外掛ConvertToUTF8,排除文字編碼錯誤問題

2、相同的程式碼在外掛sublimerepl搭建的直譯器互動下(按F5鍵),能成功顯示中文

 

。。。。。。在查找了很多案例之後發現
Anaconda外掛安裝之後會自動生成一個叫“Anaconda Python Builder”的編譯系統,在 工具-編譯系統-中可以看到

然後在這篇部落格裡面找到原因,原來是因為sublime讀取直譯器返回文字的編碼不一樣,於是通過下面這段程式碼驗證:

import sys
print(sys.stdout.encoding)

用ctrl+B進行編譯,返回的是“cp936”,用repl直譯器互動返回的是utf-8,說明是由於編碼不一致導致的
之後新建了一個編譯系統:

在Python3.sublime.build中寫入下面程式碼

1 {
2 "cmd":["C:\\Users\\jh\\Anaconda3\\python.exe", "-u", "$file"],
3 "path":"C:\\Users\\jh\\Anaconda3\\python.exe", // 注意:路徑根據自己的python安裝路徑而定 
4 "file_regex
": "^[ ]*File \"(...*?)\", line ([0-9]*)", 5 "selector": "source.python", 6 "encoding": "utf-8" , 7 "env": {"PYTHONIOENCODING": "utf8"}//通過這句,使編碼一致,都是utf8 8 }

 


之後再用ctrl+B進行編譯,返回“utf-8”,並且能成功列印中文