Qt中文乱码解决方法

Qt中文乱码解决方法(一步到位)

一、中文乱码解决方法一

 1、QString str = QStringLiteral("1你好世界 abc"));			//推荐2、QString str = QObject::tr("2你好世界 abc"));    //推荐国际化软件使用,其余不推荐3、QString str = QString::fromLocal8Bit("3你好世界 abc");	//不推荐,4、QString str = QString::fromLatin1("4你好世界 abc");		//不推荐5、QString str = QString::fromUtf8("5你好世界 abc");			//推荐6、QString str = QString::fromWCharArray(L"6你好世界 abc");	//不推荐,字符串的编码取决于 wchar 的大小。7、QString str = QStringLiteral("7你好世界 abc");		    //不推荐,8、QString str = (u8"8你好世界 abc");		   //推荐  在中文字符前加上 u8,然后把中文字符用双引号包括 	10、在头文件的类前面放入这一行,设置源文件的编码格式:	# pragma execution_character_set("utf-8")

二、mian入口使用 QTextCodec 一步到位

 int main(int argc, char *argv[])
{QApplication a(argc, argv);#ifdef Q_OS_LINUX    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
#elseQTextCodec::setCodecForTr(QTextCodec::codecForName("system"));QTextCodec::setCodecForCStrings(QTextCodec::codecForName("system"));QTextCodec::setCodecForLocale(QTextCodec::codecForName("system"));
#endifQMyTest w;w.show();return a.exec();
}

本文链接:https://my.lmcjl.com/post/12902.html

展开阅读全文

4 评论

留下您的评论.