文章目录
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
powershell命令用于打开powershell,可以输入powershell /?查看powershell的参数选项,powershell -NoExit chcp 65001为用powershell执行chcp 65001命令,并且执行完毕后不离开powershell。cmd命令用于打开cmd,可以输入cmd /?查看cmd的参数选项,cmd /K chcp 65001为用cmd执行chcp 65001命令,并且执行完毕后不离开cmd。- VSCode的
terminal.integrated.profiles.windows键的args键用于控制终端启动参数选项。 - Windows Terminal的配置文件的命令行选项用于控制
以什么命令打开该选项卡。










