Win32 Console Applications do not display Unicode strings properly. There is a simple solution of using _setmode(). You need to include two headers.
#include <io.h> #include <fcntl.h> int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { _setmode(_fileno(stdout), _O_U16TEXT); wcout << L"안녕하세요?" << endl; // or // wprintf(L"%s\n", L"안녕하세요?"); return 0; }