Ответ
Misha v.3 11.08.2008 13:31
при сохранении xdoc в качестве encoding автоматически указывается кодировка, указанная в момент сохранения в $request:charset. интернациональные буквы в сохраняемом xdoc также сохраняются именно в этой кодировке (при необходимости перекодируются).
если у вас в $request:charset задано windows-1251 его значение не изменяется перед созданием xdoc, то вы некорректно указываете encoding в процессе создания xdoc: как только в теле вашего xml встретятся интернациональные символы, то xdoc создаваться перестанет и будет ошибка.
правильный вариант если у вас в качестве $request:harset указана кодировка windows-1251: указать в @encoding создаваемого xml именно её.
если необходимо сохранить xml файл именно в кодировке utf-8 (во многих случаях этого не требуется), то перед сохранением изменить значение $request:charset на utf-8 и после сохранения восстановить предыдущее значение.
ещё один вариант (я его читаю совсем правильным): перекодировать все файлы в utf-8, указать в $request:charset utf-8 и забыть про хранение данных в других кодировках, а при выдаче броузерам, при необходимости, указывать в качестве $response:charset иную кодировку (например windows-1251).
- создание xml, vika 11.08.2008 11:54
- Ответ, Misha v.3 [M] 11.08.2008 13:31