解决Qt中文乱码问题

原创 2014年04月22日 20:41:27
#include "tablewidget.h"
#include <QtCore/QTextCodec>//解决中文乱码问题头文件


    //解决中文乱码问题放在最前面
//    QTextCodec *codec = QTextCodec::codecForName("GBK");
    QTextCodec *codec = QTextCodec::codecForName("UTF-8");

    QTextCodec::setCodecForTr(codec);
    QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
    QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

    char *str_laser = "激光功率";
    QString laserPower(str_laser);

    char *str_cut = "切割速度";
    QString cutSpeed(str_cut);

    char *str_Z = "Z浮距离";
    QString Zstandoff(str_Z);

    char *str_GasKind = "气体类型";
    QString GasKind(str_GasKind);

    char *str_GasPressure = "气体压力";
    QString GasPressure(str_GasPressure);


    table  =  new   QTableWidget(this);

    table->setColumnCount(ColumnNum);
    table->setRowCount(RowNum);

    table->setSelectionBehavior(QAbstractItemView::SelectRows);//整行选中

    QStringList  headers;
    headers <<laserPower<<cutSpeed<<Zstandoff<<GasKind<<GasPressure;
    table->setHorizontalHeaderLabels(headers);

    table->setItem(0,  0,  new   QTableWidgetItem(QString("4000W")));
    table->setItem(0,  1,  new   QTableWidgetItem(QString("2.5m/min")));
    table->setItem(0,  2,  new   QTableWidgetItem(QString("1mm")));
    table->setItem(0,  3,  new   QTableWidgetItem(QString("Ar")));
    table->setItem(0,  4,  new   QTableWidgetItem(QString("10Mpa")));
//    table->setItem(0,  1,  new   QTableWidgetItem(tr("20100112")));

    table->resize(500,300);

    QVBoxLayout  *btnLayout  =  new   QVBoxLayout;
    QPushButton  *insertBtn  =  new   QPushButton("插入");
    QPushButton  *delBtn  =  new   QPushButton("删除");
    QPushButton  *saveBtn  =  new   QPushButton("保存");

    btnLayout->addWidget(insertBtn);
    btnLayout->addWidget(delBtn);
    btnLayout->addWidget(saveBtn);

    QHBoxLayout  *mainLayout  =  new   QHBoxLayout(this);
    mainLayout->addWidget(table);
    mainLayout->addLayout(btnLayout);
    this ->setLayout(mainLayout);

    connect(insertBtn,  SIGNAL(clicked()),this,SLOT(insertcol()));
    connect(delBtn,  SIGNAL(clicked()),this,SLOT(removecol()));
    connect(saveBtn,  SIGNAL(clicked()),this,SLOT(savetable()));


虽然问题解决,但是Qt对输入汉字识别还是有问题,有时候会提醒“有换行符”:我的解决办法是粘贴网页中的该汉字,可以解决这个问题;猜测还是输入汉字的数据编码类型不对。

JSP中文乱码问题终极解决方案(下)

本文首先从四个方面给出了在使用JSP过程中可能出现中文乱码的情形,具体包括JSP页面中文乱码、JSP源文件中文乱码、GET 请求的请求参数为中文乱码 和 POST 请求的请求参数为中文乱码四种情形,并...
  • justloveyou_
  • justloveyou_
  • 2017年02月19日 22:42
  • 5658

java web开发时表单提交引起的一些中文乱码问题

1、pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码。  2、contentType="text/html;charset=UTF-8"的作用是指定对服务器...
  • buqideyu
  • buqideyu
  • 2014年02月21日 18:51
  • 911

Qt解决中文乱码问题

今天在给一个窗口添加中文标题时,出现了一个问题,就是中文显示出来是乱码。于是就在网上查询,发现Qt终于专门的一个类来处理编码问题(QTextCodec),在Qt3中,QApplication可以设置程...
  • leixiaolan
  • leixiaolan
  • 2013年11月25日 14:24
  • 568

Qt 解决中文乱码问题

也许你在用这个方法实现中文化,但它确实不够严谨 Laguage» C++ Title» 出现频率最高的办法 #include   int main(int argc, char *ar...
  • menghaibin2009
  • menghaibin2009
  • 2013年08月30日 14:06
  • 394

解决中文乱码问题 for QT

中文乱码
  • tony2278
  • tony2278
  • 2015年03月10日 11:50
  • 555

java web 解决中文乱码问题(全面总结)

在开发一个完整的web项目时,总是会遇到各种各样的中文乱码问题,例如页面显示乱码,表单提交乱码,数据库存储乱码等          等,虽然目前也能找到各种各样的解决方案,但是大部分都没有总结全面。(...
  • GreetTuring
  • GreetTuring
  • 2017年02月18日 22:12
  • 1046

一行代码解决Qt5中文乱码问题

这个问题在上个博客中有提到过,当时也找到了一个方法得以解决,有兴趣的朋友可以移步: http://blog.csdn.net/baidu_34045013/article/details/58603...
  • baidu_34045013
  • baidu_34045013
  • 2017年03月05日 13:46
  • 722

Android中解决中文乱码问题

以下是我研究的成果,希望对您有帮助: Java代码 : sb = new StringBuffer();                        HttpEntity entity ...
  • muzhengjun
  • muzhengjun
  • 2015年07月14日 17:14
  • 1455

ssh整合系列博客——(4)乱码问题解决

我相信,在ssh整合的时候,大多数程序员都会
  • u012990533
  • u012990533
  • 2014年08月18日 16:04
  • 805

解决页面get方式请求中文乱码问题

对于get请求中文参数出现乱码解决方法有两个: (1)修改tomcat配置文件添加编码与工程编码一致,如下: 注意单词不要写错‘URIEncoding’ (2...
  • qq_40098540
  • qq_40098540
  • 2018年01月15日 21:17
  • 18
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决Qt中文乱码问题
举报原因:
原因补充:

(最多只允许输入30个字)