LINUX.ORG.RU

Сообщения axis

 

Qt кодировка

Форум — Development

здравствуйе!

пишу под 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.

заранее спасибо

 , ,

axis
()

RSS подписка на новые темы