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

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

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

Регистрация: Jul 2004
Сообщений: 430
Question И еще раз о кодировке

Народ, опять возникла проблема с кодировкой!

Ситуация такая:

1.С помощью некой формы я генерирую xml файл с таким заголовком

Код:
<?xml version="1.0"  encoding="utf-8"?>
2.Сохраняю этот xml файл на диск (используя Zinc).

3.Дальше, открываю этот файл, загружая еще одну флешку и......

все что было написано на русском языке - отображается кракозябрами..
опять проблема с кодировкой - хотя в xml стоит utf-8.

Что делать, как решить данную проблему??? Большое спасибо....



П.С. Отрытие и загрузка файла происходит вот так:

Код:
private function initApp():void { 	
	var loader:URLLoader = new URLLoader();
	var request:URLRequest = new URLRequest("fio.xml");
	loader.load(request);
	loader.addEventListener(Event.COMPLETE, onComplete);
	}

private function onComplete(event:Event):void {
    var loader:URLLoader = URLLoader(event.target);
    tmpXML = XML(loader.data);
    for (var i:int=0; i<tmpXML.children().length(); i++){
		// обработка xml
	}
}

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

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
encoding="utf-8" не значит что файл в utf8. Попробуйте пересохранить xml в utf8 вручную. Если открывается - правьте сохраняющую функцию.
__________________
4am is time to rock

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

Регистрация: Jul 2004
Сообщений: 430
я пробую, а как использовать useCodePage во флексе

вот кстати вручную - получилось, как быть???


Последний раз редактировалось quazare; 11.11.2007 в 23:33.
Старый 11.11.2007, 23:39
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 4  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Это значит что сохранение файла происходит не в utf8. О useCodePage даже не думайте, это - зло.
__________________
4am is time to rock

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

Регистрация: Jul 2004
Сообщений: 430
а как сохранить в утф-8

Старый 11.11.2007, 23:57
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 6  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
судя по всему загнать в ByteArray, затем циклом перегать ByteArray в десятичную строку и использовать saveFileHEX
__________________
4am is time to rock

Старый 12.11.2007, 00:09
quazare вне форума Посмотреть профиль Отправить личное сообщение для quazare Найти все сообщения от quazare
  № 7  
Ответить с цитированием
quazare
 
Аватар для quazare

Регистрация: Jul 2004
Сообщений: 430
мда...
попробывал System.useCodePage = true;

выдает ошибку - import flash.system.*; - присутствует.

в чем может быть проблема???

Старый 12.11.2007, 10:26
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 8  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
Цитата:
Сообщение от quazare
мда...
попробывал System.useCodePage = true;

выдает ошибку - import flash.system.*; - присутствует.

в чем может быть проблема???
DarkLight же дал совет - не надо использовать useCodePage.
Легче и правильней исправить запись файла в правильный формат, благо это твой проект и ты сам пишешь файлы.

Показывай код записи файла из Zinc.

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от quazare
мда...
попробывал System.useCodePage = true;

выдает ошибку - import flash.system.*; - присутствует.

в чем может быть проблема???
Никаких useCodepage!

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

Регистрация: Jul 2004
Сообщений: 430
так, запись xml на диск происходит тривиально:

Код:
private function createXML():void{
	var myXML_head:String='<?xml version="1.0" encoding="utf-8"?><textinfo>';
	var myXML_sod:String="";
	for (var i:int=0; i<mygrid_add.length; i++){		
		var XMLBuffer:String = String('<raz id="'+mygrid_add.getItemAt(i).col1+'" razdel="'+mygrid_add.getItemAt(i).col2+'" zagolovok="'+mygrid_add.getItemAt(i).col3+'">'+mygrid_add.getItemAt(i).col4+'</raz>');
		myXML_sod=myXML_sod+XMLBuffer;	
	}
	var myXML_footer:String='</textinfo>'
	var AllXml:String = new String(myXML_head+myXML_sod+myXML_footer);
	
	mdm.FileSystem.saveFile(mdm.Application.path+"fio.xml", AllXml);

}
если ставлю encoding="utf-8" - при открытие текстового файла в блокноте - отображаются кракозябры... без encoding="utf-8" - отображается нормально (сам текстовый файл).

Но в любом случае - во флеш загружаются кракозябры...

функция загрузки - такова:

Код:
private function onComplete(event:Event):void {
    var loader:URLLoader = URLLoader(event.target);
    tmpXML = XML(loader.data);
    for (var i:int=0; i<tmpXML.children().children().length(); i++){
		mygrid_add.addItem({col1:tmpXML.children()..@id[i], col2:tmpXML.children()..@razdel[i], col3:tmpXML.children()..@zagolovok[i], col4:tmpXML.children().children()[i]});
	}
}
народ, а подскажите как все-таки использовать useCodepage, у меня все равно флешка для локала сугубо... и только для России - и useCodepage у меня ошибку выдает и некомпилирует в свф, хотя пакет импортирован import flash.system.*;

Премного благодарен...

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

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

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


 


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


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