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的配置文件的命令行选项用于控制
以什么命令打开该选项卡
。