загрузка XML во Flash, созданный из стандартного текстового инструмента с UTF-8 символов - PullRequest
1 голос
/ 22 марта 2012

РЕДАКТИРОВАТЬ:

сам нашел решение:

cityname = encodeURIComponent(cityname);

Моя флешка имеет стандартное текстовое поле, созданное "Инструментом текста", и загружает сгенерированный файл XML.из этого поля

function load_city_xml(cityname:String = ""):void {
city_list.removeAll();
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();

xmlLoader.addEventListener(Event.COMPLETE, LoadXML);

var urlstring:String = "http://example.com/xml_city.php?cityname="+ cityname;
trace(urlstring);
xmlLoader.load(new URLRequest(urlstring));

function LoadXML(e:Event):void {

XML.ignoreWhitespace = true; 
xmlData = new XML(e.target.data);

var i:Number;
for (i=0; i < xmlData.city.length(); i++) {

    city_list.addItem( {label:xmlData.city[i].namecity.text(),data:xmlData.city[i].id.text()});
    }

    }
}
load_city_xml();

xml имеет заголовок

<?php
header("Content-type: text/xml; charset=utf-8"); 

echo '<?xml version="1.0" encoding="utf-8"?>';
?>

и соединение с базой данных также как utf8

пока все работает нормально, отображается utf-8 символов правильно проблема существует, если я делаю что-то вроде этого:

load_city_xml(""+city_text_field.text);

это не работает, если поле текстового инструмента имеет специальные символы (например: ółśżźąćę), но работает просто отличнодля обычных латинских символов в текстовом поле он даже правильно отображает данные со специальными символами.

сгенерированная ссылка

http://example.com/xml_city.php?cityname

, кажется, не загружает какие-либоXML-контент, но если я наберу его в браузере, он будет работать нормально, отобразятся данные XML.

Может кто-нибудь сказать мне, что я делаю неправильно?похоже, что php не обрабатывает $ _GET ['cityname'] var из flash со специальными символами, но делает это из браузера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...