使用QT开发的串口助手发生了中文乱码的情况,调试中发现发送字符串采用了
toUtf8()
接收字符采用了
QString::fromUtf8(tempData);
在QT中调试采用 QString::fromUtf8()、QString::fromLocal8Bit() 或 QString::fromLatin1() 都是乱码。感觉不是QT代码的问题,从而转向下位机代码。
检查下位机代码发现编码采用的是GB2312,本来应该可以与Local8Bit对应的,但是事实上还是出现了乱码。 后来改成了UTF8编码,QT端也采用UTF8编码,便不再有乱码了。