Господа,
Есть следующий код который записывает строку между тегами
QDomDocument opt;
QFile iFile(path);
iFile.open(QFile::ReadOnly);
opt.setContent(&iFile);
QDomElement domElement = opt.documentElement();
QDomNode node;
node = domElement.firstChild();
qDebug() << node.toElement().text();
node.childNodes().item(0).setNodeValue( "кирилица" );
iFile.close();
QFile oFile(path);
oFile.open(QFile::ReadWrite);
QTextStream out(&oFile);
out.setCodec( QTextCodec::codecForName("UTF-8") );
opt.save(out, 4);//, QDomNode::EncodingFromTextStream);
oFile.close();
Сам xml файл такой:
<?xml version='1.0' encoding='UTF-8'?>
<first>
<second>qwe</second>
<third>Проверка Русского языка</third>
</first>
Проблема: программа криво записывает кирилицу, после её выполнения xml файл становится таким
<?xml version='1.0' encoding='UTF-8'?>
<first>
<second>киÑилиÑа в ноÑме</second>
<third>Проверка Русского языка</third>
</first>
через qDebug ранее записанная кирилица(строка: Проверка Русского языка) выводится нормально.
PS. Win XP, qtcreator 2.0.1, Qt 4.7.0
PPS. вечером проверю этот же код на kubuntu, тогда отпишусь