Проблема с чтением XML

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
Victor
Сообщения: 9
Зарегистрирован: 16 янв 2011, 08:03

Проблема с чтением XML

Сообщение Victor »

Стоит задача связать flash приложение с сервером.
В качестве сервера на время отладки использую Денвер.
Код который выполняет запрос к серверу:

Код: Выделить всё

                    var command:XML =<root><command>get_client_info</command></root>;            command.arg.@id = id;            execRequest(command,                        function(event:Event):void            {                try {                    trace("getClntInfo::"+event.target.data.toString());                    var success:XML = new XML( event.target.data  );                    currStatus.curStatus   = success;                } catch ( e:Error ) {                    trace("getClntInfo::Could not parse XML response from server.");                }            });
Ответ сервера '<root><status rez = "showOrderForm"/></root>';
Проблема в том что еси файлы на сервере сохранены в ANSI кодировке то var success:XML = new XML( event.target.data ); отрабатывает правильно, если в UTF-8 то выводит Could not parse XML response from server. в чем проблема?
Сгенерированная денвером страница в utf-8 отображается корректно, ( в .htaccess поставил AddDefaultCharset UTF-8 )
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Проблема с чтением XML

Сообщение bodnar »

пффф ... трейси не непонятную ошибку, которую придумал сам, а переменную e и смотри чего там скажут
Victor
Сообщения: 9
Зарегистрирован: 16 янв 2011, 08:03

Re: Проблема с чтением XML

Сообщение Victor »

Проблема была в кодировке, точнее в BOM.
Многие программы Windows (включая Блокнот) добавляют байты 0xEF, 0xBB, 0xBF в начале любого документа, сохраняемого как UTF-8. Это метка порядка байтов Юникода (англ. Byte Order Mark, BOM), также её часто называют сигнатурой (соответственно, UTF-8 и UTF-8 with Signature). По наличию сигнатуры программы могут автоматически определить, является ли файл закодированным в UTF-8, однако файлы с такой сигнатурой могут некорректно обрабатываться старыми программами, в частности xml-анализаторами.
Ответить