当前位置: 代码迷 >> QT开发 >> Qt接收到汉字并显示,汉字显示为问号?解决思路
  详细解决方案

Qt接收到汉字并显示,汉字显示为问号?解决思路

热度:21   发布时间:2016-04-25 03:30:10.0
Qt接收到汉字并显示,汉字显示为问号??
在开发板上通过Qt实现一个接收串口的数据并显示的程序,接收到的字母和数字都能正常显示,可是接收汉字时只能显示问号(??)不能显示出汉字来。如果在程序中输入汉字运行的话可以正常显示汉字,但是通过串口的就不行。我的代码如下:

#include "widget.h"
#include <QTextCodec>

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

    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    Widget w;
    w.show();

    return a.exec();
}

//读取数据
void Widget::readMyCom()
{
    QByteArray temp = myCom->readAll();

    if(!temp.isEmpty()){
        QString string = QString::fromLocal8Bit(temp);
        settingDisplay(string);
    } else {
        QString string ="1 0 0 0 0 10 10 50 10 10 255 255 255 显示内容";
        settingDisplay(string);
    }

}
Qt?串口 Qt 串口 嵌入式开发

------解决方案--------------------
这是接收端代码,Qt的
------解决方案--------------------
编码这个问题 一直是困扰国内开发者的头痛问题,串口接收就像http连接一样 对需要设置一样的编码,这样双方都能正确显示汉字
  相关解决方案