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条)

报告相同问题?

悬赏问题

  • ¥20 ensp,用局域网解决
  • ¥15 Python语言实验
  • ¥15 我每周要在投影仪优酷上自动连续播放112场电影,我每一周遥控操作一次投影仪,并使得电影永远不重复播放,请问怎样操作好呢?有那么多电影看吗?
  • ¥20 电脑重启停留在grub界面,引导出错需修复
  • ¥15 matlab透明图叠加
  • ¥50 基于stm32l4系列 使用blunrg-ms的ble gatt 创建 hid 服务失败
  • ¥150 计算DC/DC变换器平均模型中的参数mu
  • ¥25 C语言代码,大家帮帮我
  • ¥15 请问以下文字内容及对应编码是用了什么加密算法或压缩算法呢?
  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)