Название: Запись XML, проблема с кодировкой Отправлено: alexey.pertcev от Ноябрь 28, 2011, 13:48 Господа,
Есть следующий код который записывает строку между тегами Код:
Код: <?xml version='1.0' encoding='UTF-8'?> Код: <?xml version='1.0' encoding='UTF-8'?> через qDebug ранее записанная кирилица(строка: Проверка Русского языка) выводится нормально. PS. Win XP, qtcreator 2.0.1, Qt 4.7.0 PPS. вечером проверю этот же код на kubuntu, тогда отпишусь Название: Re: Запись XML, проблема с кодировкой Отправлено: alexey.pertcev от Ноябрь 28, 2011, 16:40 Небольшое уточнение, проблема пропадает если брать значение из каковонибудь lineEdit'а.
Вот так все отлично работает: Код: node.childNodes().item(0).setNodeValue(ui->lineEdit->text()); Пробовал сохранять в QString и затем писать, не помогло, то же самое. Кстати если использовать метод toUtf8(), крякозябры остаются, но уже другие Код: node.childNodes().item(0).setNodeValue(QString("Трололо").toUtf8()); Название: Re: Запись XML, проблема с кодировкой Отправлено: kambala от Ноябрь 28, 2011, 16:51 [пальцем в небо] может просто надо кодировку в нижнем регистре написать - out.setCodec( QTextCodec::codecForName("utf-8") ) ?
Название: Re: Запись XML, проблема с кодировкой Отправлено: alexey.pertcev от Ноябрь 28, 2011, 16:52 Господа,
Прошу извинить, проблема была никак не связана с работой xml. Сама программа внутри себя не понимала кирилицу, и то что я писал внутри неё она честно выводила крякозябрами. PS. Решение: подключить #include <QTextCodec> и добавить в int main() Код: QTextCodec *codec = QTextCodec::codecForName("UTF-8"); |