Linux下QT编程中文显示乱码解决
来源:互联网 发布:搞笑电影推荐 知乎 编辑:程序博客网 时间:2024/06/05 22:55
在main.cpp文件中添加
头文件#include <QTextCodec>
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
QTextCodec *codec = QTextCodec::codecForName("gbk");
QTextCodec::setCodecForTr(codec);
FindDialog *dialog = new FindDialog;
dialog->show();
return a.exec();
}
wondows下如果中文乱码可以试加入下面的代码
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
在QT中可以直接使用QTextCodec来转换字符串的编码。
例如,我们想在程序中使用中文,类似tr(“喂,你好吗?”)。我们要在main函数中增加以下几条语句,重新设置一下默认的编码器。
先调用下面两个函数之一
QTextCodec *codec=QTextCodec::codecForName(”gbk”);
QTextCodec *codec=QTextCodec::codecForName(”utf8″);
然后调用下面三个函数之一
QTextCodec::setCodecForCStrings(codec);
//这个函数主要是用在字符常量或者QByteArray构造QString对象时使用的一种编码方式。
QTextCodec::setCodecForTr(codec);
//这个函数的作用是设置传给tr函数时的默认字符串编码,GUI设计中最常用的一种。
QTextCodec::setCodecForLocale(codec);
//这个函数主要用于设置和对本地文件系统读写时候的默认编码格式。比如通过流读取一个文件内容时的编码格式。或者通过qDebug()输出打印信息时的编码。
示例如下:
在红帽子企业版linux5上运行QtCreator编写如下程序
#include <QApplication>
#include <QTextCodec>
#include <QWidget>
#include <QLabel>
int main(int argc, char *argv[])
{
}
运行显示乱码,将gb8030改为utf8,则正确显示中文。
- Linux下QT编程中文显示乱码解决
- Linux下使用Qt编程中文乱码的解决
- Linux下使用Qt编程中文乱码的解决
- Linux 下使用 Qt 编程中文乱码的解决
- 解决Linux下中文显示乱码问题
- QT中文显示乱码解决
- QT中文显示乱码解决
- QT中文显示乱码解决
- QT中文显示乱码解决
- QT Socket编程时中文显示乱码解决
- 解决linux/Ubuntu下Qt creater 界面程序在编译运行后无法显示中文或中文乱码问题!
- Linux 与 Windows下QT 显示MySQL 中文乱码问题
- Linux下Qt中文乱码
- QT-解决中文显示乱码问题
- QT解决中文乱码显示问题
- QT如何显示中文,解决乱码问题
- 解决qt中文显示乱码的问题
- QT for VS2010中文显示乱码解决
- 语法分析
- 平台调用P-INVOKE(三)--(封送结构体)
- 批处理及PHP编写目录下的统计文件行数及个数
- 万能指南针(android版本)
- mysql 使用位运算
- Linux下QT编程中文显示乱码解决
- vs 2010的帮助文件的重新安装
- js实现一个简单的锁屏功能
- javascript 模仿windows拖动 封装类
- calibre lvs 问题之 netlist 器件类型识别
- 使用JAVA对字符串进行DES加密解密
- ISO8859-1、UTF-8 与GB2312
- WPF中实现Timer 事件
- sql 合并列