qtcpsocket调用write和read函数写数据乱码问题解决方法

原创 2017年06月06日 09:28:28

参考以下博客QTcpSocket通信乱码解决方法

http://blog.csdn.net/zouhao619/article/details/7100752


qtcpsocket写中文会乱码,在写入前和读出后进行处理一下就可以正常显示,如先调fromlocal8Bit,再将数据转成utf8,同时长度也需要转成utf8后再获取

QString str = QString::fromLocal8Bit("服务器接收到数据,给客户端发送数据");
socket->write(str.toUtf8(),str.toUtf8().size());


读时读取出来后,先转为utf8,再从utf8转为local8Bit,即能正常输出中文。

qint64 bytes = socket->bytesAvailable();
QString str = socket->read(bytes);
printf("read data[%s]\n", QString::fromUtf8(str.toUtf8()).toLocal8Bit().data());

关于使用QTcpSocket的一些总结

QTcpSocket类的方法connectToHost会泄露内存,即使把调用这个方法的QTcpSocket实例delete掉,内存也不会释放!反复connectToHost会导致段错误,十分危险。必须...
  • u011125673
  • u011125673
  • 2016年01月07日 10:34
  • 6857

qt socket

别忘project文件配置中加上socket pro文件里的配置项当中加入如下的: QT += network (1) new a sockey, and then conn...
  • drbinzhao
  • drbinzhao
  • 2012年09月08日 16:52
  • 2223

QT tcp Socket 通信开发

 转自:http://blog.csdn.net/demowolf/archive/2010/05/17/5598879.aspx 折腾了很久TCP IP通信机制。 以前虽然看过bsd tcp/ip的...
  • lincyang
  • lincyang
  • 2010年07月21日 21:07
  • 26675

Java Socket简单例子、readLine()、readUTF()

转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51752701 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有...
  • xx326664162
  • xx326664162
  • 2016年06月24日 14:52
  • 6039

QT使用QTcpSocket和QTcpServer通信是出现乱码的问题

在使用QTcpSocket和QTcpSever出现乱码的问题,从根本上来说是文本的编码的问题,如果发送端的数据使用的是一种文本编码方式,而接收端没有使用相应的文本解码方式来解释发送过来的数据,那么就会...
  • xinzhiyounizhiyouni
  • xinzhiyounizhiyouni
  • 2015年11月19日 22:08
  • 910

Qt CS架构 客户端代码编写技巧 QTcpSocket

QT网络编程解说 QTcpSocket网络编程细节 这里是更新版本的 Qt 网络编程解说QT网络编程解说很多人在编写网络代码的时候,客户端代码编写的功能总不能胜任所需要的功能能力,现在我将编写网络代码...
  • Dr_Abel
  • Dr_Abel
  • 2016年05月10日 20:53
  • 4354

QTcpSocket通信乱码解决方法

在QTcpSocket中通信会出现乱码的情况: 首先不是由于自己设置编码的问题.....在main中加入 QTextCodec *codec = QTextCodec::codecForNa...
  • zouhao619
  • zouhao619
  • 2011年12月25日 10:28
  • 1939

qt5解决读取中文文件中文的乱码

QFile file("xxxx.txt"); QTextStream stream(file,QIODevice::ReadOnly); stream.setCodeC( QTextCodec:...
  • songshu1007
  • songshu1007
  • 2015年01月09日 17:15
  • 1759

socket传输中文出现乱码的解决

socket传输中文出现乱码的解决  (2013-04-11 14:57:03) 转载▼   分类: 技术知识 socket服务端和客户端...
  • Ws11352369
  • Ws11352369
  • 2014年11月18日 17:35
  • 3574

解决中文乱码问题 for QT

中文乱码
  • tony2278
  • tony2278
  • 2015年03月10日 11:50
  • 544
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:qtcpsocket调用write和read函数写数据乱码问题解决方法
举报原因:
原因补充:

(最多只允许输入30个字)