Кодировка XML #372845


#0 by Air777
Как выгрузить данные в XML в кодировке отличной от UTF-8 например Windows-1251. Парметр КодировкаXML - только для чтения! Особенно убивает абсурд ЗаписьХМЛ=Новый ЗаписьXML ЗаписьХМЛ.Параметры.Кодировка - тоже только для чтения. Хочу подружить выгрузку из 8.1 и 7.7 подскажите обходные пути если они есть. Забавно что из 7.7 выгрузить можно в любой кодировке, а вот прочитать нет. В 8.1 наоборот. И кто писал эти функции???
#1 by KalachevDV
Новый ПараметрыЗаписиXML(<Кодировка>, <Версия>, <Отступ>, <Отступ атрибутов>, <Символы отступа>)
#2 by wPa
родной формат xml не поддерживает 1251. делал так ТекстXML = Новый ТекстовыйДокумент;
#3 by wPa
ну только расширение не тхт у тебя
#4 by Air777
из синтаксис-помошника: ------------------------------ Использование: Только чтение. (!!!!!) Описание: Тип: Строка. Кодировка, используемая при записи XML (имеет смысл при записи в файл).
#5 by KalachevDV
ОткрытьФайл (OpenFile) Вариант синтаксиса: По имени и типу кодировки Описание: Открывает файл для записи XML. Позволяет указать тип кодировки, который будет использован для записи файла XML. И 1251 в том числе...
#6 by wPa
не работает
#7 by wPa
повторюсь. формат xml поддруживает только утф-8 и утф-16
#8 by KalachevDV
Что ж они (СП 1С) тогда вводят в заблуждение?
#9 by Air777
(5-7) у меня реально записало в 1251 это потверждается открытием этого файла в опенофисе с принудительным указанием кодировки 1251 однако 7.7 его почему так с крокозяблами и читает
#10 by Air777
не понимаю что нужно указать чтобы эту выгрузку нормально прочитала 7.7
#11 by wPa
вот в спецификации сказано. 4.3.3 Character Encoding in Entities Each external parsed entity in an XML document MAY use a different encoding for its characters. All XML processors MUST be able to read entities in both the UTF-8 and UTF-16 encodings. The terms "UTF-8" and "UTF-16" in this specification do not apply to character encodings with any other labels, even if the encodings or labels are very similar to UTF-8 or UTF-16. Я не знаю - бился долго. Может у кого получилось? - у меня только так -
#12 by KalachevDV
Попробовал... Создал файл. В файле <?xml version="1.1" encoding="cp866"?> ... если указываешь 1251 ругается...
#13 by KalachevDV
А если указать кодировку "windows1251" (т.е без дефиса), то тоже проглатывает...
#14 by Air777
а вот это вообще за пределами моего понимания: на англоязычном серванте с муи загрузка-выгрузка идет на ура в любой кодировке! А вот с англоязычной на рускоязычную ХР сабж. :(
#15 by wPa
Так что работает? Открывается xml?
#16 by KalachevDV
не пробовал открывать... Вот попробовал под win2003 английским с указанием кодировки именно "windows-1251"... Щас попробую сформировать чтонить простенькое и открыть...
#17 by wPa
открой в IE каком нидь )
#18 by KalachevDV
сформировал вот такой файлик <?xml version="1.0" encoding="windows-1251"?> IE открыл... я думал ты спрашивал, открывает ли его 7.7
#19 by KalachevDV
а вот 7.7 под рукой нет... Проверить не могу, мож Air777 попробует... Кстати, файл формировался под win2003 английским. Открывался в нем же и в Vista русской... Под вистой обработка по формированию файла вылетает с ошибкой - "Неверная кодировка"
#20 by KalachevDV
+ В общем итого, мож кому пригодиться... Следующий код формирует файл xml в кодировке "windows-1251". IE его корректно открывает. Что в Висте что в 2003 сервере.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С