作者:朱金灿
来源:http://blog.csdn.net/clever101
很多网友反映qt控制台程序输出中文总是乱码,下面介绍一种简单做法来解决这个问题,具体是设置执行字符集为utf8,假如是非utf8的常量字符串需要先转为utf8编码。示例代码如下:
#include <iostream>
//设置执行字符集为utf8
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
# pragma execution_character_set("utf-8")
#endif
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
setlocale(LC_CTYPE, "chs");
// 非utf8的常量字符串需要先转为utf8编码
std::wcout << QString("好好学习").toStdWString()<< std::endl;
getchar();
return 1;
}