РЕДАКТИРОВАТЬ:
сам нашел решение:
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 со специальными символами, но делает это из браузера