VSCode终端和Windows Terminal中文UTF-8乱码解决方案

VSCode终端和Windows Terminal中文UTF-8乱码解决方案

中文UTF-8乱码问题

VSCode默认是UTF-8编码,而在中国地区下的 Windows的PowerShell和Cmd默认是gb2312编码。所以在VSCode中编写C++代码,并编译输出中文会出现中文乱码的情况,如下图:

中文UTF-8乱码解决方案

1)在VSCode中按下F1键,然后输入Open Settings Json,单击首选项:打开设置(json)选项进入settings.json文件,如下图所示:

在打开的settings.json中,先自动补全添加"terminal.integrated.profiles.windows"键,而后对"PowerShell"和"Command Prompt"的进行如下修改:

{
          
   
        "PowerShell": {
          
   
            "source": "PowerShell",
            "icon": "terminal-powershell",
            "args": ["-NoExit","chcp 65001"]
        },
        "Command Prompt": {
          
   
            "path": [
                "${env:windir}\Sysnative\cmd.exe",
                "${env:windir}\System32\cmd.exe"
            ],
            "args": ["/K","chcp 65001"],
            "icon": "terminal-cmd"
        }
}

2)打开Windows Terminal,按下CRTL+,组合键进入设置,在配置文件中选择Windows PowerShell选项卡,将命令行文本框内容改为powershell.exe -NoExit chcp 65001,而后选择命令提示符选项卡,将命令行文本框内容改为cmd.exe /K chcp 65001,最后单击保存按钮,如下图所示:

3)验证结果:

其他

chcp命令

chcp命令用于显示和控制当前活动代码页。

代码页 编码 936 gb2312 65001 utf-8

powershell和cmd

  1. powershell命令用于打开powershell,可以输入powershell /?查看powershell的参数选项,powershell -NoExit chcp 65001为用powershell执行chcp 65001命令,并且执行完毕后不离开powershell。
  2. cmd命令用于打开cmd,可以输入cmd /?查看cmd的参数选项,cmd /K chcp 65001为用cmd执行chcp 65001命令,并且执行完毕后不离开cmd。
  3. VSCode的terminal.integrated.profiles.windows键的args键用于控制终端启动参数选项。
  4. Windows Terminal的配置文件的命令行选项用于控制以什么命令打开该选项卡。
经验分享 程序员 微信小程序 职场和发展