¿Cómo evitar que ie decodifique una url utf-8 en flash?

Lo encuentro en flash (10.x al menos) y es decir (7, 8, 9) que si intento cargar una URL de imagen que contiene caracteres utf-8 de escape (p% C3% 83% C2% A5) que los caracteres se decodifiquen antes de que realice la solicitud de URL, incluso si los codifico doble o triple. ¿Hay alguna forma de evitar esto para que la URL (con escapes) de la manera que quiero sea en realidad lo que se solicita?

El problema que causa es que le damos un estado http de 301 en las solicitudes de URL decodificadas utf-8 a la URL codificada que flash intenta solicitar (pero es decir, la decodifica de nuevo) y me quedo atascado en un bucle infinito debido al 301 + ie decodificación automática.

EDITAR, agregando muestra de código:

var url:URLRequest = new URLRequest('http://mydomain.com/p%C3%A5.jpg');
var loader:Loader = new Loader();
loader.load(url);

Ahora quiero que la solicitud pase de la línea como http://mydomain.com/p%C3%A5.jpg (y lo hace en otros navegadores), pero en IE pasa de la línea como http://mydomain.com/pÃ¥.jpg

EDITAR: También probé la (buena) sugerencia de reemplazar% con% 25 (codificación doble del%) pero eso no funcionó, solo hizo que esta solicitud pasara por el cable:

http://mydomain.com/p%25C3%25A5.jpg

preguntado el 16 de mayo de 11 a las 16:05

Parece que está haciendo un mal uso de la codificación urlen. Publique el código flash que realiza la solicitud -

IE no solo decodifica la URL, lo más probable es que la decodifique erróneamente. Está usando la codificación predeterminada de Windows (ish), cuando probablemente debería ser UTF-8. Esto podría deberse a que la página en sí no está configurada para usar UTF-8. -

Parece que la decodifica correctamente, la solicitud a través del cable es la URL decodificada, solo desearía que enviara la URL no codificada como lo especifiqué. -

Lo retiro, bzlm tienes razón, esos caracteres están codificados incorrectamente, ¡eso terminó siendo parte del problema! -

1 Respuestas

IE probablemente esté intentando resolver el nombre del archivo decodificándolo primero.

301 es una redirección
¿Por qué no simplemente crear una página de redirección? Esta podría ser otra opción para usted.

var url:URLRequest = new URLRequest('http://mydomain.com/redirpage.php?page=p%C3%A5.jpg');

contestado el 16 de mayo de 11 a las 23:05

IE ciertamente está tratando de resolver el nombre del archivo decodificándolo primero, lo que parece un poco escaso ya que le digo exactamente cómo quiero que se solicite la URL y la está cambiando. La página de redireccionamiento es una solución, pero eso estropearía nuestro almacenamiento en caché de CDN, ya que la URL de solicitud sería diferente a la que ha almacenado en caché la CDN. - Shizam

En el script de su servidor, complete la ubicación con el valor del parámetro pasado "page =". Consulte el siguiente enlace sobre cómo configurar la página de redireccionamiento. webconfs.com/how-to-redirect-a-webpage.php - The_asMan

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.