Имя: Пароль:
1C
 
Как сделать выгрузку в xml в кодировке "windows-1251" ?
0 malton
 
03.07.07
20:10
всем хай! Столкнулся проблемой. Решила контора торговать через инет и заказала разработку инет-магазина. Фирма, которая будет мастерить и поддерживать все это дело требует категорически выгрузку из базы рисовать в формате "windows-1251". А как? если по синтаксису можна создать xml-файл тока в юникоде("UTF-16","UTF-8"). Причем эти крендели заявляют что ос unix такая умная, что ANSI только и понимает, а юникод не переваривает, мол это жуткий анахронизм.
Пытался при создании файла выгрузки указать кодировку "windows-1251"
объектXML.ОткрытьФайл(Имяфайла, "windows-1251") - не прокатило. В объявлении файла исчезает атрибут 'encoding'(вместо <?xml version="1.0" encoding="UTF-8"?>  становится <?xml version="1.0" ?>)
1 Оллрайт
 
03.07.07
20:33
v8: Файл не содержит маркера кодировки UTF8
в этой веточке предлагали уже решение
2 Оллрайт
 
03.07.07
20:36
Книга знаний: Перекодировщик из UTF-8 в Windows-1251
Книга знаний: Перекодировщик из UTF-8 в Windows-1251 и обратно

Romix говорит:
"Перекодирует XML-файл из кодировки Windows-1251 в UTF8.
Если файл уже в кодировке UTF8, то он остается как есть.
Если файл не содержит маркера кодировки UTF8, то добавляет его.

Вызов win1251_utf8.exe Файл1.xml Файл2.xml"
3 malton
 
03.07.07
21:07
Большое спасибо! выкачал перекодировщик и вот рабочий вариант(все файлы по умолчанию в каталоге бд).

ОбъектXML = Новый ЗаписьXML;
ОбъектXML.ОткрытьФайл(ИмяФайлаXML, "UTF-8");
ОбъектXML.ЗаписатьОбъявлениеXML();
ОбъектXML.ЗаписатьНачалоЭлемента("КоммерческаяИнформация");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.Закрыть();          
КомандаСистемы("utf8_1251.exe "+СокрЛП(ИмяФайлаXML)+" fileVigruzki.xml");
Независимо от того, куда вы едете — это в гору и против ветра!