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”,並且能成功打印中文


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM