VSCODE Python 控製台輸出中文亂碼,通過修改cmd編碼解決
原因
Windows 下的 cmd 和 powershell 默認是 GBK 編碼顯示輸出內容, 這導致使用 UTF-8 的 Python 程序中的中文內容(包括注釋、文檔、和字符串字麵量)會以不正確的解碼方式輸出成亂碼內容。
解決辦法
Windows 內置了一個叫 “chcp” 的命令,它可以修改要顯示的字符集編碼的編號。UTF-8 的編號是 65001,所以啟動 cmd 或者 powershell 以後可以手動輸入:chcp 65001來改變編碼。
啟動 powershell 的時候帶上修改編碼的參數: “chcp.com 65001” 即可做到自動設置編碼。設置如下:
選擇:文件 – 首選項 – 用戶設置,粘貼下麵的配置鍵值到 json 中保存:
"terminal.integrated.shellArgs.windows": ["-NoExit", "/c", "chcp 65001"]
但是注意:僅靠修改代碼頁編號在 cmd 下仍然無法正常顯示中文,需要進一步修改字體(有待考證)。
ps:(當我用默認的cmd,沒換成poweshell時候,)
所以沒有管 cmd 了,因為在 powershell 下是正常的。
修改 Terminal
選擇:文件 – 首選項 – 用戶設置,粘貼下麵的配置鍵值到 json 中保存:
"terminal.integrated.shell.windows": "C:\\WINDOWS\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe"
下麵是網上的其他方法,全部嚐試均無法修改.
1. 增加係統全局變量
以 windows 係統為例,添加係統變量:
PYTHONIOENCODING=UTF8
2. 修改 VSC 配置文件
F1 鍵調出控製台,輸入task,選擇任務:配置任務運行程序,打開tasks.json文件,增加以下信息:
"options": {
"env":{
"PYTHONIOENCODING": "UTF-8"
}
}
3.在代碼裏更改編碼
在每個需要中文的 python 文件中添加如下代碼:
import io
import sys
#改變標準輸出的默認編碼
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding=’utf8′)
相關說明:
1、VIP會員無限製任意下載,免積分。立即前往開通>>
2、下載積分可通過日常 簽到、綁定郵箱 以及 積分兌換 等途徑獲得!
3、本站資源大多存儲在雲盤,如出現鏈接失效請評論反饋,如有密碼,均為:www.ipipn.com。
4、所有站內資源僅供學習交流使用。未經原版權作者許可,禁止用於任何商業環境,否則後果自負。為尊重作者版權,請購買正版作品。
5、站內資源來源於網絡公開發表文件或網友分享,如侵犯您的權益,請聯係管理員處理。
6、本站提供的源碼、模板、軟件工具等其他資源,都不包含技術服務,請大家諒解!
7、源碼、模板等資源會隨著技術、壞境的升級而存在部分問題,還請慎重選擇。
PS.源碼均收集自網絡,如有侵犯閣下權益,請發信件至: admin@ipipn.com .
源站網 » VSCODE Python 控製台輸出中文亂碼,通過修改cmd編碼解決