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上配置java環境,解決Decode error - output not utf-8問題JavaError
- mysqldump error1066 錯誤的解決辦法MySqlError
- Could not decode a text frame as UTF-8 的解決
- mongodb錯誤解決辦法-bash: ./mongod: cannot execute binary file: Exec format errorMongoDBORMError
- 畢設之錯誤解決辦法
- Idea編譯錯誤解決辦法Idea編譯
- git報錯400的解決辦法Git
- iOS路上遇到的錯誤及解決辦法iOS
- cnpm link 報錯解決辦法NPM
- PHP中的Malformed UTF-8 characters錯誤解決PHPORM
- 解決IDEA Error:Output directory is not specifiedIdeaError
- ubuntu下import matplotlib錯誤解決辦法UbuntuImport
- 執行 PHP artisan migrate 時報長度錯誤的解決辦法?PHP
- 安裝wsl錯誤的一種解決辦法
- zblog升級報錯“Invalid argument supplied for foreach”或者“unserialize(): Error at offset”的解決辦法Error
- PHP curl error 60 錯誤解決PHPError
- Mysql出現連線錯誤解決辦法MySql
- ORA-39006錯誤原因及解決辦法
- Git 錯誤:fatel: loose object ... is corrupt 解決辦法GitObject
- 使用fragment載入自定義fragment出現error inflating class fragment錯誤解決辦法FragmentError
- Vue 下 ESLint 的 error 解決辦法VueEsLintError
- 解決 eslint 的 Parsing error: Unexpected token 錯誤EsLintError
- ZBlog升級1.7報錯“Invalid argument supplied for foreach”或者“unserialize(): Error at offset”的解決辦法Error
- CATIA許可證時間錯誤的解決辦法
- Jsp Unescaped xml character報錯的解決辦法JSXML
- HTTP 錯誤 500.19- Internal Server Error 錯誤解決方法HTTPServerError
- 出現可怕的NoSuchMethodError錯誤的解決辦法 -Gunnar MorlingError
- 【git】Git commit時提示錯誤時 解決辦法GitMIT
- msfconsole,OpenSSL::PKey::PKeyError報錯解決辦法Error
- Mybatis批量更新SQL報錯☞解決辦法MyBatisSQL
- SSL錯誤ssl connect error 35的解決方案Error
- eclipse :報錯 ‘XXXX‘ does not name a type的解決辦法Eclipse
- VS2022推送程式碼 到github錯誤: CertGetCertificateChain trust error CERT_TRUST_IS_PARTIAL_CHAIN的解決辦法GithubAIRustError
- win10硬體錯誤117怎麼解決?win10硬體錯誤117的解決辦法Win10
- npm啟動vue專案報錯error:0308010C:digital envelope routines::unsupported的解決辦法NPMVueErrorGit
- 【Jenkins】data stream error|Error cloning remote repo ‘origin‘ 錯誤解決JenkinsErrorREM
- ERROR 1290 (HY000) 解決辦法Error
- Windows git remote: HTTP Basic: Access denied 錯誤解決辦法WindowsGitREMHTTP