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字符集!
代码如下:
主要有两种解决方法:
方法一:
将这行代码:
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(); }
相关文章推荐
- Qt中QFtp获取带有中文的文件名称出现乱码的解决方法
- QT中使用MYSQL中文乱码解决方法(Linux)
- 【Qt】]两种解决Qt5显示中文乱码的方法
- Qt中解决中文乱码的方法----编码
- Qt中QFtp和QURL获取带有中文的文件名称出现乱码的解决方法
- Qt中解决中文乱码的方法----编码
- QT学习——qt creator修改程序编码(解决中文乱码问题)的方法
- QT中一种中文乱码问题的解决方法
- 【ubuntu linux】 QT中使用MYSQL中文乱码解决方法
- QT中文乱码解决方法2
- qt 界面上中文乱码解决方法
- 【Qt开发】Qt5.7中文显示乱码解决方法两种
- explicit和QT中文字符乱码解决方法
- QT中中文显示乱码 解决方法
- Qt 5.x中出现中文乱码的解决方法
- qt5 中文乱码解决方法
- QT中文乱码解决方法
- Qt中解决中文乱码的方法 (有改动)
- qt5.6 中文字体显示乱码问题解决方法
- Qt使用中文时,出现乱码解决方法