微软开发的VS Code是一个跨平台的文本编辑器,通过各种插件,可以把自己武装成无所不能的IDE。
刚刚安装完VS Code时,迫不急待地安装了C/C++、Python以及Code Runner插件,本想体验一下进行Python开发,结果刚上手就遭遇了Code Runner和Python显示中文出现乱码的问题,研究了两天,解决方法整理如下。
随手写了一句测试代码:

1. 使用VS Code的“调试”功能不存在中文乱码的问题,编写好代码之后,设置Python路径,在界面最下面。

按下F5,调试显示正常

2. 通过Code Runner插件进行代码编译时(右上角三角符号或快捷键ctrl + shift + N),结果输出中文乱码,而且无论是输出什么,乱码都一样,猜测是哪里配置问题。


通过阅读Code Runner文档,发现是自己没有为其配置Python的路径。

在环境变量里加上了Python安装路径并重新打开VS Code之后,再进行编译,输出变了,目测是输出的中文内容是乱码,之前的提示没有了。下面再解决输出乱码问题


解决输出乱码问题:
方法一:通过Code Runner输出到“OUTPUT”里面是乱码,但是VS Code自己输出到“终端”里不是乱码,可以修改Code Runner的配置,使其输出到内嵌的终端中,可解决输出乱码问题。


或者修改用户配置

修改为(如果打开是空白的话,直接添加)

再执行ctrl + shift + N发现结果输出到“终端”中,无乱码。

方法二:可以通过设置编译参数,指定使用UTF-8编码
修改为
settings.json中设置
{
"code-runner.executorMap": {
"python": "set PYTHONIOENCODING=utf8 && python",
}
}
再执行ctrl + shift + N发现结果输出到“OUTPUT”中,无乱码。问题解决。
|