QT发布程序后中文显示乱码的问题

QT发布程序后中文显示乱码的问题,第1张

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乱码怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10197862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存