1. 程式人生 > >win7 python3 vscode F5 除錯列印中文亂碼

win7 python3 vscode F5 除錯列印中文亂碼

最近vscode 編譯中文,直接F5會亂碼,而使用命令列去解釋不會亂碼,
我搜索了很多方法,都不能達到F5除錯不亂碼,直接命令列就可以。
下圖中第一個輸出就是F5除錯的時候的輸出,
第二個是直接在終端使用python str1.py 命令列,輸出正常 ,不亂碼

收集了幾個方法:
方法1. 在電腦上新增一個系統環境變數,新增之後F5執行試一下,我的是新增之後輸出很多亂七八糟的,like 浣犲ぇ鐖風殑 ,這種,所以這種方法對我沒用

    PYTHONIOENCODING=UTF8

方法2. 然後我又在在程式碼前新增如下程式碼(我的沒成功,會報錯)

# -*- coding: utf-8 -*-
import sys
import io
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')#改變預設輸出的標準編碼

方法3 . windows下cmd命令列顯示UTF8字元設定(CHCP命令)
在vscode的命令列終端 使用命令chcp他會列印Active code page: 936
GBK2312的內碼表編號是936,utf-8對應的內碼表編號是65001
在終端再次執行命令 chcp 65001
會返回Active code page: 65001
這時候 再用F5 按鍵除錯,就可以打印出正常的漢字了,
這種方法會反覆,關閉vscode 的時候下次開啟,就還是不行,再次使用chcp 65001就可以了。

一勞永逸的方法應該是有的,下次找到再補上