QApplication::addLibraryPath("/plugins");
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
在main函数里的QApplication a(argc, argv)这行的下面加入以上代码。注意加上头文件
方法/步骤
1
在一个linedit控件里面,我用了setplaceholdertext的方法,来显示文字,如下图
2
但是一跑起来,发现显示的文字并不是期待的“百度测试”,而是如下乱码
3
此时我们需要在对应的cpp文件中,包含一个头文件“qtextcodech”,
即在前面加上一行代码include "qtextcodech”
4
之后统一编码格式为UTF-8,在setplaceholdertext方法调用之前加入以下代码
QTextCodec
codec=QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
5
然后再调试程序
6
你会发现,已经正常显示中文了
>
在main()函数指定使用的字符编码:
#include <QTextCodec>QTextCodec codec = QTextCodec::codecForName("GBK");//情况1
QTextCodec::setCodecForTr(codec);QTextCodec::setCodecForLocale(codec);QTextCodec::setCodecForCStrings(codec);或QTextCodec codec = QTextCodec::codecForName("UTF-8");//情况2
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
我刚开始在win10下使用Qt Creator(430版本)时,遇到过这么个问题:当程序输出中文时,中文会乱码,程序本身的中文未乱码。 乱码截图如下: 我查阅了很多资料,最后在自己的不断的尝试
以上就是关于QT发布程序后中文显示乱码的问题全部的内容,包括:QT发布程序后中文显示乱码的问题、QT乱码怎么解决、qt读取sqlite乱码怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)