gpt4 book ai didi

c++ - Qt QNetworkReply 不正确的字符集

转载 作者:行者123 更新时间:2023-11-28 06:24:24 26 4
gpt4 key购买 nike

我正在尝试通过网络服务捕获一些数据,但遇到了以下问题。通过获取包含特殊字符(“Español”)的字符串,获取的文本不正确(“Espa\u00f1ol”)。

我尝试使用 wireshark 验证数据到达服务并正确。到达的数据显示“Español”。

我目前使用的代码如下:

QNetworkRequest req ( url );
req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");

QNetworkReply *reply = this->wsClient->get( req );
QObject::connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this,
SLOT(onError(QNetworkReply::NetworkError)));

QEventLoop loop;
connect(this->wsClient, SIGNAL(finished(QNetworkReply *)), &loop,SLOT(quit()));
loop.exec();

if (this->pRespNetwork->error() == QNetworkReply::NoError){
QString jsonData(this->pRespNetwork->readAll());
qDebug() << jsonData;
}

我希望你能帮助我。

谢谢。

最佳答案

在您的 main.cpp 中添加以下行:(假设 Qt 4)

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

关于c++ - Qt QNetworkReply 不正确的字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28764454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com