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

中文UTF-8乱码问题

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

VSCode的中文UTF-8乱码

PowerShell的中文UTF-8乱码

Cmd的中文UTF-8乱码

中文UTF-8乱码解决方案

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

打开VSCode的用户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,最后单击保存按钮,如下图所示:

PowerShell配置文件命令行

cmd配置文件命令行

3)验证结果:VSCode的中文UTF-8完美显示Powershell的中文UTF-8完美显示Cmd的中文UTF-8完美显示

其他

chcp命令

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

代码页编码
936gb2312
65001utf-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的配置文件的命令行选项用于控制以什么命令打开该选项卡
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐