Sto provando a caratteri URL-escape (percentuale-codifica) non-ascii in diversi URL con cui ho a che fare. Sto lavorando con un'applicazione flash che carica risorse come immagini e clip audio da questi URL. Poiché i nomi di file possono contenere caratteri non ASCII, in questo modo: 日本語.jpg
li fuggo da utf-8 codifica dei caratteri, e quindi cento-sfuggire i byte unicode, ottenere la seguente:URL Escaping caratteri Unicode cinesi/giapponesi per Internet Explorer
%E6%97%A5%E6%9C%AC%E8%AA%9E.jpg
Questi nomi di file funzionano correttamente quando eseguo l'app in qualsiasi browser diverso da Internet Explorer: ho provato Firefox, Safari e Chrome. Ma quando lancio l'applicazione in IE (provato entrambi 6 e 8) e cerca di caricare il clip audio, ottengo: Error #2044: Unhandled ioError
, e l'URL è stato danneggiato a qualcosa di simile:
æ¥æ¬èª.jpg
Qualsiasi pensieri su come risolvere questo? Questo è solo test-guida l'app flash con URL del filesystem locali. Ho anche notato che Internet Explorer non è in grado di individuare un file, ad esempio: file:///C:/%E6%97%A5%E6%9C%AC%E8%AA%9E.jpg
, anche se Chrome/Firefox decodificarlo e carico più che bene per un file con il percorso
C:\日本語.jpg
modificare
Penso che il mio problema è lo stesso di quello riscontrato nel seguente frammento di codice ActionScript:
import flash.display.Loader;
import flash.net.URLRequest;
...
var ldr:Loader;
var req:URLRequest = new URLRequest("日本語.jpg");
ldr = new Loader();
ldr.load(req);
L'utilizzo della stringa 日本語.jpg
funzionerà in IE, mentre l'utilizzo della stringa %E6%97%A5%E6%9C%AC%E8%AA%9E.jpg
funziona in altri browser. Quello di cui ho bisogno è un singolo modulo che funzioni in tutti i browser. Ho provato la codifica %u
e l'impostazione dell'intestazione della richiesta http su Content-Type: text/html; charset=utf-8
senza fortuna in forma di escape con percentuale o senza caratteri di escape.
Windows utilizza UTF-16 per i nomi di file. Quindi prova '% 65% E5% 67% 2C% 8A% 9E'. – Gumbo
Nessun dado con il nome UTF-16, IE non è stato ancora in grado di localizzarlo. – Bear
correlati: http://stackoverflow.com/questions/75980/best-practice-escape-or-encodeuri-encodeuricomponent – cregox