Добрый день, господа флешеры, надеюсь на вашу помощь.
В чем проблема:
Как можно понять по названию темы, когда я использую для указания пути загрузки кириллицу, возникает ошибка, которая слегка ставит меня в ступор.
Вот класс, в котором все происходит:

Код AS3:
package src.UI {
import fl.containers.UILoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
public class Book extends EventDispatcher{
public var pages : Vector.<UILoader>;
public var name : String;
private var totalPages : int;
private var loadedPages : int;
public function Book(_name : String, _sourcePath : String, _totalPages: int){
var urlRequest : URLRequest;
var newPage : UILoader;
pages = new Vector.<UILoader>();
totalPages = _totalPages;
name = _name;
for(var i : int = 1; i <= totalPages; i++){
urlRequest = new URLRequest(_sourcePath + "page" + i.toString() + ".swf");
newPage = new UILoader();
newPage.addEventListener(IOErrorEvent.IO_ERROR, IOErrorHandler);
newPage.addEventListener(ProgressEvent.PROGRESS, progressHandler);
newPage.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
newPage.addEventListener(Event.OPEN, openHandler);
newPage.autoLoad = false;
newPage.source = urlRequest.url;
pages.push(newPage);
}
trace("totalPages = " + totalPages + " sourcePath " + _sourcePath);
}
/// methods
public function load():void{
pages[0].addEventListener(Event.COMPLETE, loadCompleteHandler);
pages[0].load();
}
/// private functions
private function loadCompleteHandler(event : Event):void{
trace(event);
event.currentTarget.removeEventListener(Event.COMPLETE, loadCompleteHandler);
loadedPages++;
if(loadedPages == totalPages){
dispatchEvent(new Event(Event.COMPLETE));
} else {
pages[loadedPages].addEventListener(Event.COMPLETE, loadCompleteHandler);
pages[loadedPages].load();
}
}
private function progressHandler(event : ProgressEvent):void{
trace(event);
}
private function IOErrorHandler(event : IOErrorEvent):void{
trace(event);
}
private function openHandler(event : Event):void{
trace(event);
}
private function securityErrorHandler(event :SecurityErrorEvent):void{
trace(event);
}
}
}
Когда в пути нет русских букв все отлично работает, но когда они есть выскакивает, например, такая ошибка:
Error opening URL 'http://127.0.0.1/denwer/pdfreader/users/chuwy/convertedBooks/Контрольные задания(2)/page1.swf'
[IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2036: Загрузка не завершена. URL:
http://127.0.0.1/denwer/pdfreader/us...ks/Контрольные задания(2)/page1.swf"]
Но ей предшествует вывод:
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=0 bytesTotal=2112]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=798 bytesTotal=2112]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=2112 bytesTotal=2112]
Что говорит о том, что грузиться то все-таки файл грузится.
Я могу, конечно, обойтись без кириллицы, транслитилируя пути, но очень интересно почему такое происходит.
Подскажите пожалуйста, что я делаю не так.