VSCode中控制台中文乱码的解决方法大全

318人浏览 / 0人评论

VSCode中控制台中文乱码的原因分析:VSCode 与 cmd 两者之间的编码方式不一样;VSCode 默认是 utf-8 编码,而在中国地区下的 Windows 的 cmd 默认是 GBK 编码。

既然原因找到了,我们只需要确认下VSCode项目中文件的编码和调试或运行下vscode内嵌的编码,并调整下两边的编码一致即可。

  • 现在我们查看下项目的文件编码,查看vscode右下角的状态栏

image.png

可以看到是UTF-8, 这个地方点击可以修改文件编码。如果文件编码是UTF-8, 代码中的中文也是UTF-8; 同理如果是GBK, 代码中的中文也是GBK;

  • 查看下控制台的文件编码,vscode控制台运行 > chcp

image.png

我们可以看到输出是936,  GBK2312的代码页编码就是936,  而UTF-8的代码页编码是65001;

现在可以看出文件的编码UTF-8和控制台编码GBK不一样,导致中文乱码;

解决方案也就就处理了:

方法一: 调整文件编码为GBK; (问题是说好了的国际化呢?我要是在linux上面运行怎么办?而且点击修改状态栏的编码,只能对新增文件有效。此方案不建议!)

方法二: 调整控制台的编码为UTF-8;(问题是直接修改了系统的控制台编码,看起来是爽歪歪,但是只不定我还有其他.bat程序就奔溃了。可不可以直接配置vscode呢?百度谷歌呗,这里给个靠谱方案)

方案如下:

修改vscode项目的.vscode/setting.json的terminal配置,添加如下

    "terminal.integrated.profiles.windows": {

        "cmd": {

            "path": "C:\\Windows\\System32\\cmd.exe",

            "args": ["-NoExit", "/K", "chcp 65001"]

        }

    },

备注:网上说的修改配置,"terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"], 对于新版本的VSCode,已经不生效。

接着,修改vscode调试和运行时的控制台默认配置:

image.png

选择我们的配置“cmd”;

再次运行,正常情况下,控制台就是中文的。

=======================================

若还是乱码的话,考虑您的项目可能是java, java在window运行时默认也是GBK, 还记得java启动是可以指定-Dfile.encoding=UTF-8参数;

好吧,修改.vscode/launch.json:

{

    // 使用 IntelliSense 了解相关属性。

    // 悬停以查看现有属性的描述。

    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

    "version": "0.2.0",

    "configurations": [

        {

            "type": "java",

            "name": "Launch Current File",

            "request": "launch",

            "mainClass": "${file}",

            "encoding""UTF-8"

        },

        {

            "type": "java",

            "name": "Launch Application",

            "request": "launch",

            "mainClass": "com.beyongx.bootstrap.Application",

            "projectName": "beyongx-bootstrap",

            "encoding": "UTF-8"

        }

   ]

}

再运行下,OK!

全部评论

晴天下起了小雨
2017-10-01 18:00
很喜欢,果断关注了
wjmyly7336064
2017-10-01 18:00
相当实用,赞美了
橘大佬
2017-10-01 18:00
就是有些细节再到位点就好了…