在Qt5使用中文(vs环境)

如果是使用mingw版本的Qt create, 也就是使用GCC编译器应该没那么多事吧。

 

不过我还是用惯了VS呢。

好了,废话不多说,开始总结vs下乱码的解决方案。

 

vs2003 把源码存成 utf-8格式编码就可以直接中文了。

 

vs2005/08/10/13 

1  QString s1 = QStringLiteral("我是中文");
2  QString s2 = QString::fromLocal8Bit("我是中文");

 

char *UnicodeToUTF8(const wchar_t *str)
{
static char result[1024];
int len = WideCharToMultiByte(CP_UTF8, 0, str, -1, NULL, 0, NULL, NULL);
WideCharToMultiByte(CP_UTF8, 0, str, -1, result, len, NULL, NULL);
result[len] = '\0';
return result;
}
QString s1 = UnicodeToUTF8(L"我是中文");

QString s2 = QString::fromWCharArray(L"我是中文");

 

vs2010以上

#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif

QString s = "我是中文";

 



posted @ 2016-03-10 23:09  _st  阅读(501)  评论(0编辑  收藏  举报