怦然心动如往昔 发表于 2019-9-11 17:58:51

QT 串口的汉字

现在接收单片机串口发送的数据,但是汉字有乱码现象

QT的接收代码如下
QByteArray info = Serial_Com->readAll();
    if(ui->view_mode->isChecked())
    {
      QString buffer = QString::fromLocal8Bit(info);
      ui->data_area->insertPlainText(buffer);
      qDebug()<<buffer;
    }
网上查的说改变编码,这个默认使用的是UTF-8编码了

请问一下,该怎么修改呢?

驲屋安阮 发表于 2019-9-11 17:58:52

自己做一个收发程序试试?看看是哪的问题

Since 发表于 2019-9-11 18:10:28

先 info.toLocal8Bit(), 试试看

怦然心动如往昔 发表于 2019-9-11 18:26:08

Since 发表于 2019-9-11 18:10
先 info.toLocal8Bit(), 试试看

info 是QByteArray类型,你说的这种写法不行啊

怦然心动如往昔 发表于 2019-9-11 18:34:49

可能是单片机发送的格式有点问题{:3_61:}

Sehin_春子 发表于 2019-9-12 09:25:18

选择GBK格式就可以正常显示了,好像在这里选择只是暂时的,下次打开还要选。以前我试过在notepad++,打开cpp和h文件,在菜单栏编码那里改成UTF-8格式,保存就可以了。然后在qt会提示文件以外被改,你确认重新加载就行了。

怦然心动如往昔 发表于 2019-9-22 22:50:25


谢谢大家回答,忘记及时反馈结果了。
这样可以正常显示,之前出问题应该是单片机发送出问题了。

LikeRRR 发表于 2020-5-8 17:38:09

怦然心动如往昔 发表于 2019-9-22 22:50
谢谢大家回答,忘记及时反馈结果了。
这样可以正常显示,之前出问题应该是单片机发送出问题了。 ...

所以是QT的接收程序要改呢,还是单片机的发送数据函数要改呀?
页: [1]
查看完整版本: QT 串口的汉字