Из внешней системы приходит XML файл с кириллицей, но без хедера: <?xml version="1.0" encoding="windows-1251"?>
Чтобы дальше всё корректно работало, добавляю хедер в коде самостоятельно:
_di_IXMLDocument XMLDocument=NewXMLDocument();TStringList*StringList=newTStringList();StringList->LoadFromFile(FileName);// Загружаем сначала файл в StringListStringXMLPrefix="<?xml version=\"1.0\" encoding=\"windows-1251\"?>";StringList->Insert(0,XMLPrefix);// Добвляем в StringList первой (нулевой) строкой хедер//XMLDocument->LoadFromXML(StringList->Text); // - если делать так, то НЕ РАБОТАЕТ (в XML вставляет левую кодировку) !!!StringList->SaveToFile(FileName);XMLDocument->LoadFromFile(FileName);// - так РАБОТАЕТ и всё читает правильноdeleteStringList;// ...
Собственно вопрос - как сделать так, чтобы XMLDocument->LoadFromXML работала корректно и читала данные в нужной кодировке?
Примечание: на русскоязычной версии Windows все вроде бы работает корректно, но на сервере, где установлена англоязычная Windows, - читает не в той кодировке. При этом из файла XMLDocument->LoadFromFile всегда всё читает корректно!
P.S. Пробовал устанавливать XMLDocument->Encoding = "windows-1251"; - не помогло
Вопрос
magma
Добрый день.
Из внешней системы приходит XML файл с кириллицей, но без хедера: <?xml version="1.0" encoding="windows-1251"?>
Чтобы дальше всё корректно работало, добавляю хедер в коде самостоятельно:
Собственно вопрос - как сделать так, чтобы XMLDocument->LoadFromXML работала корректно и читала данные в нужной кодировке?
Примечание: на русскоязычной версии Windows все вроде бы работает корректно, но на сервере, где установлена англоязычная Windows, - читает не в той кодировке. При этом из файла XMLDocument->LoadFromFile всегда всё читает корректно!
P.S. Пробовал устанавливать XMLDocument->Encoding = "windows-1251"; - не помогло
Ссылка на комментарий
0 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.