возникла странная ситуация

Вообщем у меня задача такая.
1. в java приложении я генерирую xml с кодировкой utf-8 b отправляю на stdout
2. в qt приложении я запускаю java -приложение через QProcess и ловлю выхлоп stdout через readAll.
данные оказываются в QbyteArray;
3. я подсовываю этот массив байтиков QXmlDocument через setContent и проверяю название корневого тега.
и тут начинается какой -то бред. Условие не выполняется.
bool MainWindow::parseWorkBook(const QByteArray &wb, QString fileName)
{
QDomDocument domDocument;
if (!domDocument.setContent( wb, true, &errorStr, &errorLi ....
QDomElement root = domDocument.documentElement();
// Util::file_set_contents("_1", root.tagName().data() + QString("книга"), "UTF-8");
if (root.tagName() == "книга")
{
Помогите пожалуйста разобраться в этой чехарде.
xml :
http://files.rsdn.ru/95570/log.xml
результат выполнения file_set_contents :
http://files.rsdn.ru/95570/_1.txt
Здравствуйте, J0nny, Вы писали:
J>J> if (root.tagName() == "книга")
Кодировка исходников — точно utf-8?
K13>Здравствуйте, J0nny, Вы писали:
J>>J>> if (root.tagName() == "книга")
K13>
K13>Кодировка исходников — точно utf-8?
Кроме того -- нужно сравнивать с QString::fromUtf8( "книга" )
Или загнать эти строки в юникодные ресурсы.
Или выставить нужный кодек для сишных литералов (не советую).
Здравствуйте, K13, Вы писали:
K13>>Здравствуйте, J0nny, Вы писали:
J>>>J>>> if (root.tagName() == "книга")
K13>>
все верно, юзаем fromUtf8
но
1. в исходниках ставим прагму #pragma execution_character_set("utf-8")
2. патчим студию, чтоб она это поняла
http://support.microsoft.com/kb/980263