从QString转换为QByteArray时数据丢失

时间:2010-05-07 09:45:21

标签: qt4

我正在使用QPlainTextEdit作为HTML编辑器,通过带有QNetworkAccessManager的HTTP帖子保存数据。

使用HTML等特殊字符时会遇到数据丢失问题。 (符号) 我正在使用QByteArray构建一个POST请求(如文档中所述)。

QByteArray postData;
QMapIterator<QString, QString> i(params);
while(i.hasNext()) {
    i.next();
    postData
        .append(i.key().toUtf8())
        .append("=")
        .append(i.value().toUtf8())
        .append("&");
}

postData.remove(postData.length()-1, 1);

//Do request
QNetworkRequest postRequest = QNetworkRequest(res);
oManager.post(postRequest, postData);

1 个答案:

答案 0 :(得分:2)

我不是Qt中的网络编程专家,但你的代码似乎重新发明了轮子。查看QUrl类 - 它具有查询参数,主机,方案等的设置器,可以直接通过QNetworkRequest使用。