找回密码
 立即注册
收起左侧

QT 串口的汉字

7
回复
5206
查看
[复制链接]
累计签到:147 天
连续签到:1 天
来源: 2019-9-11 17:58:51 显示全部楼层 |阅读模式
1Qter豆
现在接收单片机串口发送的数据,但是汉字有乱码现象

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编码了

请问一下,该怎么修改呢?
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

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

使用道具 举报

累计签到:375 天
连续签到:1 天
2019-9-11 17:58:52 显示全部楼层
自己做一个收发程序试试?看看是哪的问题
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2019-9-11 18:10:28 显示全部楼层
先 info.toLocal8Bit(), 试试看
回复

使用道具 举报

累计签到:147 天
连续签到:1 天
2019-9-11 18:26:08 显示全部楼层
Since 发表于 2019-9-11 18:10
先 info.toLocal8Bit(), 试试看

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

使用道具 举报

累计签到:147 天
连续签到:1 天
2019-9-11 18:34:49 显示全部楼层
可能是单片机发送的格式有点问题
回复

使用道具 举报

累计签到:94 天
连续签到:1 天
2019-9-12 09:25:18 显示全部楼层
选择GBK格式就可以正常显示了,好像在这里选择只是暂时的,下次打开还要选。以前我试过在notepad++,打开cpp和h文件,在菜单栏编码那里改成UTF-8格式,保存就可以了。然后在qt会提示文件以外被改,你确认重新加载就行了。
回复

使用道具 举报

累计签到:147 天
连续签到:1 天
2019-9-22 22:50:25 显示全部楼层

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

使用道具 举报

尚未签到

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

所以是QT的接收程序要改呢,还是单片机的发送数据函数要改呀?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了