1. 问题描述
最近在使用VSCode的「Run Code」插件时遇到了一个问题,就是运行Python脚本输出时出现了中文乱码,十分不便于阅读。
2. 解决方法
经过一番查阅资料,我找到了解决这个问题的方法,具体如下。
2.1. 修改settings.json设置
在VSCode中打开「Settings」,搜索「Run Code Configuration」,找到「Run In Terminal」这一栏,在里面添加如下设置:
"terminal.integrated.shellArgs.windows": ["-ExecutionPolicy", "Bypass"]
2.2. 安装PowerShell Core
由于英文版的PowerShell默认是不支持中文编码的,因此需要安装PowerShell Core进行代替。安装方法如下:
(1)打开PowerShell Core官网(https://github.com/PowerShell/PowerShell),下载对应的版本进行安装;
(2)在VSCode中按下Ctrl+Shift+P,输入「Open User Settings」,在「Settings」中找到「Terminal>Integrated>Shell:Windows」一项,将如下代码粘贴进去:
"terminal.integrated.shell.windows": "C:\\Program Files\\PowerShell\\7\\pwsh.exe"
注意:代码中「C:\Program Files\PowerShell\7\pwsh.exe」是我PowerShell Core的安装路径,根据自己的实际情况进行相应的修改。
2.3. 在PowerShell Core中设置中文编码
在PowerShell Core中输入如下命令:
[console]::OutputEncoding=[System.Text.Encoding]::GetEncoding("gb2312")
用这个命令将输出编码设置为gb2312,这样Python输出的中文就不会乱码了。
3. 参考资料
以上解决方法参考了以下资料:
(1)VSCode官方文档(https://code.visualstudio.com/docs/editor/integrated-terminal);
(2)CSDN博客(https://blog.csdn.net/p602103143/article/details/86425044);
(3)VSCode官方Issues(https://github.com/formulahendry/vscode-code-runner/issues/76)。
4. 总结
经过以上步骤,我成功解决了在VSCode中使用「Run Code」插件输出中文乱码的问题。尤其需要注意的是,由于VSCode默认使用英文版的PowerShell,所以需要安装PowerShell Core来代替,并在其中设置好中文编码。