谢谢2楼回复
我经过一番调试,从开发板的串口输出到串口调试助手上已经没有问题了(我修改的只是串口代码,这可能不是编码格式的原因了),但是要从开发板的串口输入显示的却还是乱码,怎么也找不出原因所在,只有麻烦各位大侠看一下了,我的从串口读入函数如下,您帮忙看一下,是哪里的问题,
void frmclient::ReadBoardPort()
{
  char BoardRecvbuf[256];
    int buflen= -1;
     if(GPSEnable)
     {
         memset(BoardRecvbuf,0,sizeof(BoardRecvbuf));
          buflen=::read( gpsfd, BoardRecvbuf, sizeof(BoardRecvbuf));
          if (buflen>0)
             {
               BoardRecvbuf[buflen]=0;
               QString str(BoardRecvbuf);
               txtMsgContent->insertLine(BoardRecvbuf);// line 14
               txtMsgContent->insertLine(str);//line 15
               this->ProcessGpsData(str);
              }  
    }
}
如上程序,我分析了一下,14,15行,在屏幕上输出的乱码是一样的,那样就不是字符变量转换的问题,而是串口读入函数的问题,可我检查了好几遍,没有问题啊。