здравствуйе!
пишу под linux с системной локалью utf-8, среда - eclipse cdt.
помогите с проблемой:
получаю json ответ в виде QByteArray от QNetworkReply. в этом json есть русские буквы, например "title":"книга"
.
для разбора json использую qt-json, который кладет все пары значений в QVariantMap, который есть typedef QMap<QString, QVariant>.
проблема возникает когда в такой паре значение содержит русские символы - при попытке сконструировать QString из такого QVariant'а строка в отладчике показывается пустой, но при выводе этого QString'а в qDebug() я получаю правильное значение с русскими символами. пример:
QByteArray data = reply->readAll();
QVariantMap map = QtJson::parse(QString(data)).toMap();
QString title = map["title"].toString(); // отлалчик eclipse показывает, что в title пусто
qDebug() << "Title = " << title; // верный вывод с русскими буквами
как решить данную проблему? json оправляется сервером в utf-8.
заранее спасибо