vscode 控制台 python 输出中文乱码问题(windows 系统)

这几天一直在这个python windows 中文乱码作斗争,心力交瘁……

我的vscode版本: 1.37.1,python 2.7

vscode 控制台 python 输出中文乱码问题(windows 系统)_第1张图片

在文件位置使用 Git bash here,执行文件没有问题

但是到了vscode中,同样是使用 git bash 却输出乱码,在cmd中也一样。

接着我测试了在python 命令行和git bash中,输出中文,显示却又是正常的:

所以我就在想,有没有可能是python 读取执行文件的时候,window用 gbk 的编码格式拿给python执行,那python当然是拿到什么执行什么咯,所以才会出现上面的问题。

于是去网上找解决方案:

方案一:

使用cmd,修改cmd的字符设置为utf8

chcp 65001

但是:另外开一个cmd就失效了,每次使用cmd都要设置,太麻烦

方案二:

在vscode 的 “文件”--“首选项”--“设置”, 然后在setting.json中修改设置,添加一行:

"terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"]

cmd生效了,每次打开都会自动设置,输出也正常了。

但是:我设置的另一个git bash 每次启动都会报错启动失败。

方案三:

在输出的字符串后加入解码和编码:

print 'hello python!我是中文我是中文'.decode('utf-8').encode('cp936')

这种也是唯一 一种我在vscode 里使用 git bash 不会报乱码的办法。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

尝试过的无效的设置:

1、在vscode settings.json 中,加入一行:

"files.autoguessEncoding":true

2、设置git config

git config --global i18n.commitencoding utf-8

git config --global i18n.logoutputencoding utf-8

export LESSCHARSET=utf-8

3、在中文字符串前加一个u

print u"hello python!我是中文我是中文"

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

因为权限和系统的原因,未做测试的方案:

1、修改 git config 配置:

GIT中文乱码问题解决方案

2、win10配置系统默认utf-8编码 

 

 

你可能感兴趣的:(#,python)