Мне нужно получить данные с этого URL-адреса https://www.nbp.pl/kursy/xml/lasta.xml. Проблема в том, что response
содержит неверные польские символы (??????? вместо śćąęó).
Моя консоль и графический интерфейс полностью способны отображать полированные символы, и только эта строка content
не работает.
Я понятия не имею, что с этим делать. Я использую CLion в Linux.
#include "DataDownloader.h"
#include <QtWidgets/QMessageBox>
std::string DataDownloader::downloadData() const
{
QNetworkAccessManager manager;
QNetworkReply *response = manager.get(QNetworkRequest(QUrl(this->url)));
QEventLoop event;
connect(response, SIGNAL(finished()), &event, SLOT(quit()));
event.exec();
std::string content = QString(response->readAll()).toStdString();
return content;
}
Редактировать: на самом деле другие сайты, содержащие польские знаки, работают нормально. Но все же, я должен заставить его работать с тем, что я предоставил выше
Редактировать 2: похоже, что этот xml закодирован в ISO-8859-2. Это объясняет проблему, но я до сих пор не знаю, как с ней справиться.
QTextCodec::codecForName()
(хотя я не имею ни малейшего представления, как этого добиться). ;-) - person Scheff's Cat   schedule 12.10.2020