在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 = "我是中文";