![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2004
Сообщений: 430
|
Народ, опять возникла проблема с кодировкой!
Ситуация такая: 1.С помощью некой формы я генерирую xml файл с таким заголовком 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
}
}
|
|
|||||
|
ветеран форума
|
encoding="utf-8" не значит что файл в utf8. Попробуйте пересохранить xml в utf8 вручную. Если открывается - правьте сохраняющую функцию.
__________________
4am is time to rock |
|
|||||
|
Регистрация: Jul 2004
Сообщений: 430
|
я пробую, а как использовать useCodePage во флексе
вот кстати вручную - получилось, как быть??? Последний раз редактировалось quazare; 11.11.2007 в 23:33. |
|
|||||
|
ветеран форума
|
Это значит что сохранение файла происходит не в utf8. О useCodePage даже не думайте, это - зло.
__________________
4am is time to rock |
|
|||||
|
Регистрация: Jul 2004
Сообщений: 430
|
а как сохранить в утф-8
|
|
|||||
|
ветеран форума
|
судя по всему загнать в ByteArray, затем циклом перегать ByteArray в десятичную строку и использовать saveFileHEX
__________________
4am is time to rock |
|
|||||
|
Регистрация: Jul 2004
Сообщений: 430
|
мда...
попробывал System.useCodePage = true; выдает ошибку - import flash.system.*; - присутствует. в чем может быть проблема??? |
|
|||||
|
Flash Aксакал
Регистрация: Jun 2005
Сообщений: 636
|
Цитата:
Легче и правильней исправить запись файла в правильный формат, благо это твой проект и ты сам пишешь файлы. Показывай код записи файла из Zinc. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Регистрация: 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);
}
Но в любом случае - во флеш загружаются кракозябры... функция загрузки - такова: 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]});
}
}
Премного благодарен... |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|