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編碼解決

發表評論

讚助本站發展 維持服務器消耗

全站源碼免費下載 立刻讚助