对于在英语 Windows(XP、Vista 或 7)上使用 Visual Studio 2008 编译的 C++ 控制台应用程序。是否可以打印到控制台并使用 cout 或 wcout 正确显示 UTF-8 编码的日文?
最佳答案
这应该有效:
#include <cstdio>
#include <windows.h>
#pragma execution_character_set( "utf-8" )
int main()
{
SetConsoleOutputCP( 65001 );
printf( "Testing unicode -- English -- Ελληνικά -- Español -- Русский. aäbcdefghijklmnoöpqrsßtuüvwxyz\n" );
}
不知道它是否会影响任何东西,但源文件保存为 Unicode(带有签名的 UTF-8)- Codepage 65001 at FILE -> 高级保存选项 ...。
项目 -> 属性 -> 配置属性 -> 常规 -> 字符集 设置为使用 Unicode 字符集。
有人说您需要将控制台字体更改为 Lucida Console,但在我这边显示的是 Consolas 和 Lucida Console。
关于c++ - 如何在 Windows 上从 C++ 控制台应用程序打印 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38861910/