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

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

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

Регистрация: Aug 2007
Сообщений: 56
По умолчанию Сбивается кодировка текста в загруженном ХML файле

Загружаю xml для заполнения текстовых полей. Если сильно начинаю мучить приложение и комп начинает тормозить в момент загрузки xml и последующего заполнения полей, то получаю каракули в этих текстовых полях.

В коде много лишнего, выцепил только самое важное:

Код AS3:
private var xml:XML;	
 
public function loadXML():void {
	xmlUrlLoader.load(urlRequest); //гружу URLLoader'ом
}
private function completeListener(e:Event):void {//файл всегда вроде бы загружается полностью, потому как все поля заполняются.
        xml = new XML(xmlUrlLoader.data);//заполучили xml
        makeBlocks();//разбирает на куски в зависимости от типа тэга, текст или имага
}
private function makeTextBlock(xml:XML):void{// эту функцию не резал, как есть
			var style_string:String = "h1 {font-size: 40; font-weight: bold} ";
			style_string += "strong {font-weight: bold; display: inline;}";
			var style_css:StyleSheet = new StyleSheet();
			style_css.parseCSS(style_string);
			var tx:TextField = new TextField();
			tx.width = Page.pageW-48;
			var pattern:RegExp = /img src="/g;
			var temptext:String = xml.toString();
			tx.styleSheet = style_css;
			tx.condenseWhite = true;
			tx.multiline = true;
			tx.width = contentW;
			tx.htmlText = temptext.replace(pattern, 'img src="'+objectPath);
                        addChild(tx);
}
Это для примера код xml:
Код:
<xml version="1.0" encoding="UTF-8">
	<blocks>
		<text>
			<![CDATA[
			<br>
			<h1>История</h1><br>
			Первые упоминания <br> <br>
			]]>
		</text>
		<img>
			<src path="b.jpg" bigpath="e.jpg"/>
			<src path="b.jpg" bigpath="a.jpg"/>
		</img>
	</blocks>
</xml>
В итоге вместо слова "История", к примеру, получается "Р?стория", и так везде.
Повторю, что возникает это только тогда, когда мучаю флешку. Понятно, что где-то что-о не предусмотрел, но пока даже не понятно где копать. В CDATA, загрузчике или уже на фазе заполнения? Да и кодировка ли это или что-то другое?


Последний раз редактировалось Firefoxer; 20.07.2009 в 14:57.
Старый 20.07.2009, 15:00
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Кодировку файла надо сменить на utf-8
encoding="UTF-8" - это совсем другое.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 20.07.2009, 15:01
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 3  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
эм ну хмл файл должен быть в UTF8 кодировке

Старый 20.07.2009, 15:13
Firefoxer вне форума Посмотреть профиль Отправить личное сообщение для Firefoxer Найти все сообщения от Firefoxer
  № 4  
Ответить с цитированием
Firefoxer

Регистрация: Aug 2007
Сообщений: 56
Спасибо за скорую помощь, но тут другое. Файл всегда был в ютф-8. И баг то есть, то нет (когда не мучить). Обнаружилось другое, виновата СDATA, убираю ее, оставляю обычный текст без html форматирования и бага больше нет. Никто не сталкивался?

Показалось, и без сdata косяк есть.


Последний раз редактировалось Firefoxer; 20.07.2009 в 15:28.
Старый 20.07.2009, 15:34
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
xml файл выложите.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 20.07.2009, 15:49
Firefoxer вне форума Посмотреть профиль Отправить личное сообщение для Firefoxer Найти все сообщения от Firefoxer
  № 6  
Ответить с цитированием
Firefoxer

Регистрация: Aug 2007
Сообщений: 56
Проверил все, файл уже загружается именно с коверкнутой кодировкой. Еще раз акцентирую внимание на условии возникновения бага - напрягаю сильно флеху, в том числе возможны параллельные загрузки. Слушание ошибок и статусов загрузчика ничего не дало пока, изучаю сейчас подробнее. Специально сделал простейшую xml, и даже она...
Вложения
Тип файла: txt history.txt (112 байт, 49 просмотров)

Старый 20.07.2009, 15:52
Juice_Green вне форума Посмотреть профиль Отправить личное сообщение для Juice_Green Посетить домашнюю страницу Juice_Green Найти все сообщения от Juice_Green
  № 7  
Ответить с цитированием
Juice_Green
 
Аватар для Juice_Green

Регистрация: Dec 2005
Адрес: Новосибирск
Сообщений: 529
Отправить сообщение для Juice_Green с помощью ICQ Отправить сообщение для Juice_Green с помощью Skype™
у вас было какая то ANSI AS UTF-8 (так мне notepad++ показал), попробуйте сейчас UTF-8
Вложения
Тип файла: txt history.txt (115 байт, 36 просмотров)

Старый 20.07.2009, 15:57
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Да, это был utf, но BOM не был указан.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 20.07.2009, 15:59
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 9  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
У меня загрузилось без проблем. И с CDATA и более простая. Простейший код:

Код:
var l:URLLoader = new URLLoader (new URLRequest("history.txt"));
l.addEventListener(Event.COMPLETE,completeHandler);

function completeHandler (e:Event):void {
	var xml:XML=XML(l.data);
	trace (xml.toXMLString());
}

Старый 20.07.2009, 16:04
Firefoxer вне форума Посмотреть профиль Отправить личное сообщение для Firefoxer Найти все сообщения от Firefoxer
  № 10  
Ответить с цитированием
Firefoxer

Регистрация: Aug 2007
Сообщений: 56
Спасибо Juice_Green и iNils, iflamberg все-таки не читал меня. Действительно Любимая Altova XMLSpy подкинула проблем. Скорее всего от нее не откажусь, а буду уже во флеше в начале дописывать BOM "EF BB BF". Странно только, что через раз работало, но я не принципиальный.

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

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

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


 


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


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