您的位置:首页 > 编程语言 > Qt开发

Qt 中文乱码 解决方法

2011-06-28 18:16 946 查看
使用Qt开发界面的时候,发现经常出现一些中文乱码,后来在网上查了很多资料了,终于解决了。

主要有两种解决方法:

方法一:

将这行代码:

label.setText(QObject::tr("同一个世界,同一个梦想!"));

修改为:

label.setText(QString::fromUtf8("同一个世界,同一个梦想!"));

结果显示就对了!

方法二:

将这行代码:

QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
修改为:

QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
结果就对了!

这两种方法,都是使用了utf8字符集!

代码如下:

]#include <QtGui/QtGui>
#include <QtGui/QDialog>
#include <QtCore/QTextCodec>
#include "mainwindow.h"   //自己写的一个头文件
#include "iostream"
using namespace std;

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

// 以下部分解决中文乱码
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
// 以上部分解决中文乱码

MainWindow w;
w.show();
return a.exec();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: