Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.01.2008, 22:46
dukei вне форума Посмотреть профиль Отправить личное сообщение для dukei Найти все сообщения от dukei
  № 1  
Ответить с цитированием
dukei

Регистрация: Jan 2008
Сообщений: 5
По умолчанию Кодировка XML

Что-то непонятно, новая фича XML в AS3 игнорирует кодировку загружаемого XML, что ли?

XML.ignoreProcessingInstructions = false;
не помогает.

Какую бы кодировку я не писал бы в <?xml version="1.0" encoding="windows-1251"?>, всё равно при загрузке она весь текст внутри считает за UTF-8, и выводит всё в контролки соответственно (то есть, если текст в windows-1251, то в контролки выводятся крякозябры).

Кто-нибудь знает, как можно в переменную типа XML загрузить простой файл в кодировке windows-1251, например:

<?xml version="1.0" encoding="windows-1251">
<root>
<text>
Русский текст
</text>
</root>

?

Старый 20.01.2008, 00:05
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 2  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
Код:
<?xml version="1.0" encoding="UTF-8">
причём весь текст внутри тоже должен быть в этой кодировки а не в windows.

Старый 20.01.2008, 01:56
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Само содержимое файла должно быть в этой кодировке. Указанная в заголовке файла кодировка лишь помогает определить кодировку файла, а не сделать её таковой.

Старый 21.01.2008, 23:08
dukei вне форума Посмотреть профиль Отправить личное сообщение для dukei Найти все сообщения от dukei
  № 4  
Ответить с цитированием
dukei

Регистрация: Jan 2008
Сообщений: 5
Вообще-то я и сам в курсе, что текст в файле должен быть в той же кодировке, что прописана в processing instructions. Вопрос был не об этом.

Смысл в том, что независимо от значения кодировки в processing instructions флэш кладет в свои переменные текст в кодировке, как она была в текстовом файле, без преобразования во внутренний формат. То есть, если файл XML в windows-1251, то текст в переменной, судя по всему, будет тоже в windows-1251, и, соответственно, при выводе куда-нить в контролку, будет отображен в виде крякозябр.

И наоборот, если текст в XML в UTF-8, а в processing instructions я прописал windows-1251, то флэшу на это наплевать. Он прочитает текст, как он есть, в переменных будет текст в UTF-8, соответственно, они прекрасно выведутся в контролки.

Есть авторитетные мнения по существу вопроса?

Старый 21.01.2008, 23:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Кодировка — только utf-8. Какие ещё у вас вопросы по этому поводу?

Старый 21.01.2008, 23:33
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 6  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
ни один текстовый редатор вам не будет читать инструкции он прсто с ними сверится инструкции это запись о том в каком виде надо читать. если вы записали 1251, а в инструкциях ютф прописали, то большенство вам попробует прочитать файв в ютф. само сабой вы получите иероглифы.

Старый 21.01.2008, 23:41
dukei вне форума Посмотреть профиль Отправить личное сообщение для dukei Найти все сообщения от dukei
  № 7  
Ответить с цитированием
dukei

Регистрация: Jan 2008
Сообщений: 5
Цитата:
Сообщение от __etc
Кодировка — только utf-8. Какие ещё у вас вопросы по этому поводу?
Вот по этому и вопросы. Нахрена в XML предусмотрены processing instructions и возможность указать кодировку, если Flash, с его A4X не поддерживает ничего, кроме UTF-8?

И хотелось бы знать, где-то об этом написано официально? имеется в виду, о том, что флэш умеет читать только XML в кодировке UTF-8.

А вообще - проблема вовсе не высосана из пальца. Мне rss2 выдает XML в кодировке windows-1251. И в нем честно написано encoding="windows-1251". Флэш прекрасно читает её, а вывести куда-нить русский текст не может.

Как теперь флэшем читать RSS-фиды в кодировке, отличной от windows-1251?


Последний раз редактировалось dukei; 21.01.2008 в 23:47.
Старый 21.01.2008, 23:43
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
В хелпе.
Вы вообще в курсе, что XML разрабатывался не только для флеша?

Старый 21.01.2008, 23:48
dukei вне форума Посмотреть профиль Отправить личное сообщение для dukei Найти все сообщения от dukei
  № 9  
Ответить с цитированием
dukei

Регистрация: Jan 2008
Сообщений: 5
Цитата:
Сообщение от __etc
В хелпе.
Вы вообще в курсе, что XML разрабатывался не только для флеша?
В курсе. Не понимаю, почему так трудно было поддержать XML нормально. Впрочем, ладно, как сделали, так сделали.

А вообще - проблема вовсе не высосана из пальца. Мне rss2 выдает XML в кодировке windows-1251. И в нем честно написано encoding="windows-1251". Флэш прекрасно читает её, а вывести куда-нить русский текст не может.

Как теперь флэшем читать RSS-фиды в кодировке, отличной от UTF-8?

Старый 21.01.2008, 23:51
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Нет никакого смысла поддерживать всяческие левые кодировки, типа win1251, когда есть принятый безглючный и универсальный стандарт utf-8.
То, что фиды идут в виндовой кодировке — проблема того, кто этот фид слепил.

Если очень надо, можно прочитать различные кодировки через ByteArray, но я бы этим занимался в самом крайнем случае.

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:32.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.