1. 程式人生 > >win10下使用vscode除錯python輸出中文亂碼的解決辦法

win10下使用vscode除錯python輸出中文亂碼的解決辦法

  今天在vscode中除錯一個python指令碼時發現中文亂碼了,折騰了好一會兒才找到原因,記錄一下。

  很簡單的一句程式碼測試一下:

  # -*- coding: utf-8 -*-
  print('亂碼不?')

   檔案編碼設定的也是utf-8,但是除錯就是亂碼,網上看大都是說設定PYTHONIOENCODING=UTF8的環境變數,嘗試過發現還是不行。

  其實問題在於windows下的cmd或者PS終端都是預設GBK編碼,VSCODE除錯時是呼叫的cmd的,如果把檔案頭和編碼都改成GBK就不會亂碼了,但是考慮到可移植性,最好是設定cmd的編碼。

解決辦法:

  在檔案-首選項-設定中搜索terminal.integrated.shellArgs.windows,然後再右邊的使用者設定的{}中加一句

"terminal.integrated.shellArgs.windows" : [ "-NoExit" , "/c" , "chcp 65001" ]

以覆蓋預設設定,然後重啟,OK