Sublime報Decode error - output not utf-8 or cp936 錯誤的解決辦法
使用Sublime在build python程式時,有時候會遇到Decode error -output not utf-8或者是cp936。原因是python編譯執行後的流的編碼方式和Sublime的解碼方式不同,Sublime Ctrl+B build一個python程式時,輸出output not cp936,說明Sublime中的Python build預設接收的編碼是cp936,如果你的python
程式是utf-8編碼,有漢字輸出時,Sublime就會報not cp936的錯誤。
如果報的是output not utf-8,說明python在編譯執行原始碼後預設將輸出結果以cp936編碼傳送給Sublime。而Sublime中的預設接收編碼是utf-8。Sublime Text在接收到python輸出後,試圖以utf-8編碼cp936編碼的流。當cp936編碼的流中沒有中文字元時,用utf-8解碼不會出錯,當cp936編碼的流中有中文字元時,因為漢子集在cp936與utf-8的編碼不相容,所以用utf-8解碼就會報錯。
解決問題的關鍵就是弄明白你的python程式的編碼和Sublime的python build中指定的編碼。
python sublime decode error
cp936 utf-8 output not utf-8
utf-8 cp936 output not cp936
比如,你的python程式碼中制定了編碼格式是utf-8,現在sublime報錯了output not cp936的錯誤,則設定Sublime中python build編碼格式為utf-8,反之亦然。
Python.sublime-build 位置:
Sublime Text 2 : SublimeText2/Data/Packages/Python/ Python.sublime-build
Sublime Text 3 :SublimeText3/Packages/Python.sublime-package
或者是新建一個build檔案:工具->編譯系統->新建編譯系統,儲存為Python.sublime-build,我的檔案是儲存在了C:\Program Files (x86)\Sublime Text\Data\Packages\User\ 中。
{
"cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding":"utf-8"
}
"cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding":"utf-8"
}
參考:
相關文章
- Sublime Text 2報 Decode error - output not utf-8 錯誤的解決辦法Error
- Sublime Text 2報“Decode error - output not utf-8”錯誤的解決辦法Error
- Sublime下python 報錯[Decode error - output not utf-8]解決辦法PythonError
- 使用 Sublime 工具時報Decode error - output not utf-8解決辦法Error
- Sublime Text: [Decode error - output not utf-8]Error
- sublime 出現 [Decode error - output not utf-8]Error
- Sublime text 2/3 [Decode error - output not utf-8] 完美解決方法Error
- Sublime Text 2/3 [Decode error - output not utf-8]Error
- Python——Output not utf-8錯誤解決辦法Python
- sublime上配置java環境,解決Decode error - output not utf-8問題JavaError
- sublime text編譯時提示錯誤[Decode error - output not utf-8] compilation terminated編譯Error
- sublime Text3編譯java檔案提示Decode error - output not utf-8編譯JavaError
- 用sublime Text3編譯java檔案提示Decode error - output not utf-8編譯JavaError
- cx_Oracle.DatabaseError: [Decode error - output not utf-8]OracleDatabaseError
- [Decode error - output not utf-8] lua 使用string.subError
- python編碼問題之——Decode error - output not utf-8PythonError
- mysqldump error1066 錯誤的解決辦法MySqlError
- Myeclipse 錯誤An internal error has occurred 解決辦法EclipseError
- dns錯誤怎麼辦 dns錯誤的解決辦法DNS
- Error:/etc/fstab:Read-only file system錯誤的解決辦法Error
- SAP錯誤提示解決辦法
- git報錯400的解決辦法Git
- scp出現錯誤的解決辦法
- samba一個錯誤的解決辦法!Samba
- sysctl -P 報錯解決辦法
- 連線oracle錯誤解決辦法Oracle
- nginxFastCGI錯誤Primaryscriptunknown解決辦法NginxAST
- Unable to locate package錯誤解決辦法Package
- oracle 1455 錯誤解決辦法Oracle
- 畢設之錯誤解決辦法
- iOS路上遇到的錯誤及解決辦法iOS
- ORA-12705,錯誤的解決辦法
- SPFILE引數修改錯誤的解決辦法
- ORA-12170錯誤的解決辦法
- Could not decode a text frame as UTF-8 的解決
- Nodejs Post請求報socket hang up錯誤的解決辦法NodeJS
- DataGuard切換報ora-16009錯誤的解決辦法
- mongodb錯誤解決辦法-bash: ./mongod: cannot execute binary file: Exec format errorMongoDBORMError