Перейти к содержанию
Fire Monkey от А до Я
  • 0

Кодировка в XMLDocument->LoadFromXML


magma

Вопрос

Добрый день.

Из внешней системы приходит XML файл с кириллицей, но без хедера: <?xml version="1.0" encoding="windows-1251"?>

Чтобы дальше всё корректно работало, добавляю хедер в коде самостоятельно:

_di_IXMLDocument XMLDocument = NewXMLDocument();
TStringList *StringList = new TStringList(); 
StringList->LoadFromFile(FileName); // Загружаем сначала файл в StringList
String XMLPrefix = "<?xml version=\"1.0\" encoding=\"windows-1251\"?>";
StringList->Insert(0, XMLPrefix); // Добвляем в StringList первой (нулевой) строкой хедер
//XMLDocument->LoadFromXML(StringList->Text); // - если делать так, то НЕ РАБОТАЕТ (в XML вставляет левую кодировку) !!!
StringList->SaveToFile(FileName);
XMLDocument->LoadFromFile(FileName); // - так РАБОТАЕТ и всё читает правильно
delete StringList;
// ...

Собственно вопрос - как сделать так, чтобы XMLDocument->LoadFromXML работала корректно и читала данные в нужной кодировке?

Примечание: на русскоязычной версии Windows все вроде бы работает корректно, но на сервере, где установлена англоязычная Windows, - читает не в той кодировке. При этом из файла XMLDocument->LoadFromFile всегда всё читает корректно!

P.S. Пробовал устанавливать XMLDocument->Encoding = "windows-1251"; - не помогло

 

Ссылка на комментарий

Рекомендуемые сообщения

Ответов пока нет

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...