首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

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

2014-01-17 
Qt接收到汉字并显示,汉字显示为问号??在开发板上通过Qt实现一个接收串口的数据并显示的程序,接收到的字母

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连接一样 对需要设置一样的编码,这样双方都能正确显示汉字

热点排行