记一次使用Qt的TCP模拟http get服务器数据遇到的字符编码问题

本文介绍了一种解决服务器接收客户端发送的汉字数据时出现乱码的方法。关键在于使用QUrl的toPercentEncoding方法将汉字编码为URL兼容的格式,确保数据正确传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先配置客户端和服务器端都是utf8的编码

问题:服务器接收到客户端发来的数据汉字乱码

解决方法如下,关键是使用QUrl的toPercentEncoding(const QString &,const QByteArray &exclude = QByteArray(),const QByteArray &include = QByteArray())方法将汉字编码成带%的数据;

截取项目中使用的部分如下:


tempUrlArray.append("&type=");
tempUrlArray.append(QUrl::toPercentEncoding(ui->lineEdit_type->text()));//将汉字转码成URL中带%的数据

(QUrl还有一个方法是解码fromPercentEncoding(const QByteArray &),将Url解码成QString)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值