vscode c++输出不能显示中文
时间: 2025-02-01 08:38:07 浏览: 104
### 解决方案
为了使 C++ 程序在 VSCode 中能够正确显示中文输出,需要调整编译器编码设置以及终端的字符集。具体方法如下:
#### 编辑源代码以支持 UTF-8 输出
确保 `main` 函数前加入以下语句来设定控制台输出流使用的多字节字符集为 UTF-8[^1]:
```cpp
#include <iostream>
#include <locale>
using namespace std;
int main()
{
locale::global(locale("")); // 设置全局区域为本地化环境
wstring_convert<codecvt_utf8<wchar_t>> converter;
wcout << L"你好世界!" << endl; // 使用宽字符串输出中文
return 0;
}
```
#### 修改 launch.json 配置文件
打开 `.vscode/launch.json` 文件,在 `"configurations"` 数组内的对象中添加或修改下列属性以便于调试时能正常看到中文输出:
```json
{
"version": "0.2.0",
"configurations": [
{
...
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"MIMode": "gdb",
"miDebuggerPath": "/path/to/gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing"
},
{
"text": "set charset utf-8", // 设定GDB内部使用的字符集为UTF-8
"ignoreFailures": true
}
],
...
}
]
}
```
#### 更改 Windows 终端默认字体和支持更多语言
对于 Windows 用户来说,默认情况下命令提示符可能无法很好地渲染某些非 ASCII 字符串。可以通过更改 PowerShell 或者 CMD 的属性中的字体选项选择一种兼容性更好的字体比如 Lucida Console 或 Consolas。
另外还需要开启 Beta: Unicode 支持 (又称为 “启用新式控制台特性”) ,这一步骤可以在注册表编辑器里完成[HKEY_CURRENT_USER\Console\%SystemRoot_%System32_WindowsPowerShellv1.
app]下创建名为 ForceV2 的DWORD值并设其等于1;也可以通过管理员权限运行 powershell 并执行下面这条指令实现:
```powershell
Set-ItemProperty -Path HKCU:\Console -Name ForceV2 -Value 1
```
以上操作完成后重启计算机让改动生效即可解决大部分情况下的乱码问题[^2]。
阅读全文
相关推荐



















