Проблема с отображением символов в файле
Такой вопрос
Нужно записать русский текст в кодировке UTF-8 в JSon файл
Для получения JSon использую, собственно, QJson
Вот код
Код:
QVariantList changesList;
...
QVariantMap host;
...
host.insert("title", changes.title);
...
changesList << host;
...
QString json = QString(serializer.serialize(hostLinks));
QFile file(filename);
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QMessageBox::warning(0, QObject::tr("File error"), QObject::tr("NewLinks file create error!"));
return;
}
QTextStream out(&file);
out << json;
file.close();
...
QVariantMap host;
...
host.insert("title", changes.title);
...
changesList << host;
...
QString json = QString(serializer.serialize(hostLinks));
QFile file(filename);
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QMessageBox::warning(0, QObject::tr("File error"), QObject::tr("NewLinks file create error!"));
return;
}
QTextStream out(&file);
out << json;
file.close();
changes.title - в данном случае содержит русский текст в UTF-8
так вот, при выполнении указанных операций в файл вместо руского текста записывается строка вида
Цитата:
...C:/Users/\u0410\u043b\u0435\u043a\u0441\u0435\u0439/AppData/Roaming...
То есть, откуда-то берутся символы \u0410\u043b\ и т.д.
Кто-нибудь сталкивался с таким? Где-то нужно сделать обратное преобразование кодировки, или дело в QJson?
Буду благодарен за лобые советы