tmaolein 2016-05-25 04:15 采纳率: 20%
浏览 1757
已采纳

qt5.5 tcp服务器中文乱码

图片说明
如图
我client发送部分代码是:
void Widget::send()
{
QString ss="hello server你好,服务器!!!";
tcpSocket->write(ss.toStdString().c_str(),strlen(ss.toStdString().c_str()));
//QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
//tcpSocket->write(ss.toUtf8());
// QString ss="hello server - 你好,服务器!!!";
// QByteArray dateSend = ss.toLocal8Bit();
// tcpSocket->write(dateSend);
}

server端接收:
void Widget::dataReceived()
{
while(m_pSocket->bytesAvailable())
{
QByteArray vTemp;

    //vTemp = vTemp.to
    vTemp = m_pSocket->readAll();

// QTextCodec *codeTransfor = QTextCodec::codecForName("GBK");
// QString vTempStr = codeTransfor->toUnicode(vTemp);//.mid(2));
QString vTempStr = QTextCodec::codecForName("GBK")->toUnicode(vTemp);
QString vFinalStr = QTextCodec::codecForName("UTF-8")->fromUnicode(vTempStr);
// QString vTempStr = QString::fromLocal8Bit(vTemp);
//QString vTempStr(vTemp);
//QString vTempStr = tr(vTemp.data());
m_pEdt_Info->append(vFinalStr);
}
}

  • 写回答

4条回答 默认 最新

  • devstone 2016-05-25 08:45
    关注

    不是我的意思是你的代码页要设置成一样的编码!比如这样:
    我一般都是设置成UTF-8的,因为要经常移植到linux,没有什么问题!
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝