我尝试了setlocale,wchar,通常的char ...如何定义:
char c = '☻'
cout << c << endl;
打印到控制台上(这与VS2012和http://ideone.com/LJtDUz相关)
答案 0 :(得分:0)
问题是Windows默认情况下不处理Unicode字符,Windows控制台无法显示它们。
我在This CPP Thread找到的解决方案如下:
#include <fcntl.h>
#include <io.h>
#include <iostream>
int
main(int argc, char* argv[])
{
wchar_t* c = L"☻"; /* needed because the project is using 'Unicode Character Set' */
_setmode(_fileno(stdout), _O_WTEXT); /* set stdout to UTF16 */
std::wcout << c << std::endl; /* use a wide cout call to output characters */
getchar();
return 0;
}
当您尝试在代码中直接使用☻
符号时,Windows会告诉您我需要将您的文件转换为Unicode
,请确保接受并使用Unicode Character Set
作为你的项目字符集类型。