文章目录

在 Windows 下使用 C/C++ 向控制台输出 UTF-8 字符时总是会出现乱码。这是由于 Windows 默认使用 GBK 作为控制台字符的编码。
所以只需修改控制台的代码页并使用支持 UTF-8 编码的字体即可正常输出。

1
2
3
4
5
6
7
8
system("chcp 65001");           // 使用 65001 代码页(UTF-8)

CONSOLE_FONT_INFOEX info = { 0 };
info.cbSize = sizeof(info);
info.dwFontSize.Y = 20; // 此处指定字体大小
info.FontWeight = FW_NORMAL;
wcscpy_s(info.FaceName, L"Console");
SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), NULL, &info); // 使用 Console 字体
文章目录