Sublime Text3: [Decode error - output not utf-8]

今天編譯Python時, 輸出窗口信息出現:
[Decode error - output not utf-8]

查資料發現是因爲sublime讀取解釋器返回文本的編碼不一樣,於是通過下面這段代碼驗證:

import sys
print(sys.stdin.encoding)
print(sys.stdout.encoding)

用ctrl+B進行編譯,返回的是“cp936”,用repl解釋器交互返回的是utf-8,說明是由於編碼不一致導致的

cp936
cp936
[Finished in 0.2s]

解決:
由於我自己新建了一個新的python3.7的編譯器,所以要修改的是Python3.7.sublime-build文件在裏面添加一行 (如果沒有新建python編譯器,則修改Python.sublime-build文件),文件路徑在“Sublime Text3\Packages\”

"encoding":"cp936",

修改後爲

{
    "shell_cmd": "python -u \"$file\"",         
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "encoding":"cp936",  #  要加的內容
    "env": {"PYTHONIOENCODING": "utf-8"},
    "env": {"PYTHONPATH": "C:/Program Files/Python37"},
 
    "variants":
    [
        {
            "name": "Syntax Check",
            "shell_cmd": "python -m py_compile \"${file}\"",
        }
    ]
}

保存,ctrl+B 重新編譯,可正常輸出中文。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章