QT QDomDocument (Нужно научить понимать русский)

Модератор: Модераторы разделов

MedVed
Сообщения: 112

QT QDomDocument

Сообщение MedVed »

Привет, всем!
Проблемма такая:
Работаю с XML-документом через QDomDocument QT (QT 3.3).
Код:

Код: Выделить всё

....
QDomDocument doc ("rmo");
QFile file("rmo.config");
if(!file.open(IO_ReadOnly))
    return;
if(!doc.setContent(&file))
{
    file.close();
    std::cout << "ERROR: file parsing error" << std::endl;
    return;
}
file.close();
// Work with xml doc here
.....


XML файл:

Код: Выделить всё

<rmo>
<devices>
    <device id="458" type="ppu" pos="10;45" cap="Устройство 1" />
    <device id="459" type="ak" pos="10;22" cap="Устройство 2" />
    ....
</devices>
</rmo>


При этом, если в файле присутствуют русские символы (как в примере выше), QDomDocument не может их распарсить и выдает ошибку. Убираем русские символы (или заменяем латиницей) - все работает на ура.
На данный момент идеи по фиксингу следующие:
1) Писать русский текст транслитом/условными кодами и конвертировать программно.
2) Записать XML в Unicod'e, указав, соотвествующий тэг в заголовке и молиться, чтобы QT это поняла.
(Здесь возникает вопрос: как создать файл в юникодной кодировке под никсами?)

Какие будут еще идеи?
МСВС 3.0/Linux Mandrake 8.0
Спасибо сказали:
Аватара пользователя
alastor
Сообщения: 844
Статус: ARCH'еноид
ОС: Arch Linux current

Re: QT QDomDocument

Сообщение alastor »

MedVed писал(а):
05.03.2007 11:06
2) Записать XML в Unicod'e, указав, соотвествующий тэг в заголовке и молиться, чтобы QT это поняла.

Так и делал, правда в под 4-ми Qt, все работало.
Спасибо сказали: