我在打印韩文方面遇到了麻烦。 我尝试了各种方法但没有用。 我试过了
1
cout << "한글" << endl;
2。
wcout << "한글" << endl;
3。
wprintf(L"한글\n");
4。
setlocale(LC_ALL, "korean");
wprintf("한글");
等等。但所有这些都打印出“한ꀔ。 我正在使用MinGW编译器,我的操作系统是Windows 7.
P.S奇怪的是,Java打印出韩国版,
String kor = "한글";
System.out.println(kor);
的工作原理。
答案 0 :(得分:1)
在打印文本
之前将控制台代码页设置为utf-8::SetConsoleOutputCP(65001)
答案 1 :(得分:0)
由于您使用的是Windows 7,因此可以使用WriteConsoleW,它是Windows API的一部分。 #include <windows.h>
并尝试以下代码:
DWORD numCharsToWrite = str.length();
LPDWORD numCharsWritten = NULL;
WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), str.c_str(), numCharsToWrite, numCharsWritten, NULL);
其中str是std :: wstring
有关WriteConsoleW的更多信息:https://msdn.microsoft.com/en-us/library/windows/desktop/ms687401%28v=vs.85%29.aspx
在尝试了其他方法后,这对我有用。