解决Windows终端中文乱码问题
解决 Windows 终端输出中文乱码问题:修改系统区域设置(方法一)
在使用 VS Code 进行 C++ 开发时,很多 Windows 用户都会遇到控制台输出中文乱码的问题。这通常是因为 Windows 终端默认使用 GBK 编码,而现代的代码文件(尤其是使用 UTF-8 编码的文件)在输出时会发生冲突。
本文将详细介绍一种简单直接的解决方案:修改系统区域设置。
解决方案:修改系统区域设置 (Beta UTF-8)
这是目前最接近“一劳永逸”的方法,通过开启 Windows 的全局 UTF-8 支持,使终端能够正确识别和显示 UTF-8 编码的文字。

操作步骤
- 打开区域设置:
- 在任务栏空白处点击右键,选择 “任务栏设置”。
- 在弹出的设置窗口左侧搜索框中输入 “区域”,并选择 “区域设置”。
- 管理语言设置:
- 在区域设置页面中,点击 “管理语言设置”(通常在相关设置或页面底部)。
- 更改系统区域设置:
- 在弹出的“区域”窗口中,切换到“管理”选项卡,点击 “更改系统区域设置(C)…”。
- 开启 UTF-8 支持:
- 在新的弹出的窗口中,勾选 “Beta 版:使用 Unicode UTF-8 提供全球语言支持”。
- 重启生效:
- 点击确定后,系统会提示需要重新启动。点击 “现在重新启动”。
重启后,你的 Windows 终端(CMD 和 PowerShell)将默认支持 UTF-8 编码,VS Code 中的中文输出通常就能恢复正常了。
进阶方案:方案 2 - 设置终端启动时自动切换为 UTF-8
如果你不想修改系统的全局编码设置(因为这可能会导致某些极少数旧软件出现乱码),可以尝试通过修改 VS Code 配置,让终端在启动时自动切换到 UTF-8 编码。

操作步骤
- 打开设置:点击 VS Code 窗口左下角的 齿轮图标,选择 设置 (Settings)。
- 打开配置文件:在设置窗口的右上角,点击那个类似“打开文件”的图标(即“打开当前配置文件设置”),这会打开你的
settings.json文件。 - 修改终端配置:在
settings.json中找到"terminal.integrated.profiles.windows"项,并按照以下内容修改cmd和PowerShell的配置:
"terminal.integrated.profiles.windows": {
"cmd": {
"args": ["/K", "chcp 65001 > nul"], // 关键:启动时执行切换编码命令
"icon": "terminal-cmd",
"path": [
"${env:windir}/Sysnative/cmd.exe",
"${env:windir}/System32/cmd.exe"
]
},
"PowerShell": {
"args": ["-NoExit", "chcp 65001 > $null"], // 关键:启动时执行切换编码命令
"icon": "terminal-powershell",
"source": "PowerShell"
}
}备注
找不到齿轮图标?:尝试使用快捷键
Ctrl + Shift + P,输入toggle activity bar并回车,以恢复左侧活动栏。警告:如果修改后发现无法执行调试(Debug)任务,说明该方法在你的环境下不适用,请还原配置并尝试方案 1。


💬 评论
评论区正在施法中...
信使正在穿越次元壁,即将抵达... *Alohomora!* 🔓