Qt5完美解决 界面显示中文乱码

  最近在学习Qt,可是一直头疼于中文乱码问题,上网搜了一下,很多都是Qt4中使用如下方法:

QTextCodec *codec = QTextCodec::codecForName("gbk");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);

但是在Qt5中该函数已经被KO了。没办法,慢慢找,终于在贴吧里找到几种比较实用的方法。

1.最直接最有效的方法:

  在Qt的安装路径找到bin目录,搜索include文件夹,找到qglobal.h头文件,在其中加入以下代码:

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

这样就可以解决所有中文显示乱码问题。注意文件也要保存为utf-8!!

2. 直接使用函数QStringLiteral("我是中文");也可以解中文乱码问题,但是个人认为还是很麻烦。

  以上方法均在QtCreator中试验成功。

    最后感叹一下,自古贴吧出才子啊!!!

posted @ 2016-02-25 14:09  DoubleCorner  阅读(8722)  评论(0编辑  收藏  举报