我发现在闪存(至少10.x)和ie(7,8,9)中,如果我尝试加载包含转义的utf-8字符的图像网址(p%C3%83%C2 %A5)字符在发出url请求之前被解码,即使我对它们进行双重或三重编码。有没有办法防止这种情况所以url(带有escape)我想要它的方式实际上是什么请求?
它导致的问题是我们在utf-8解码的url请求中将http状态设置为301,然后闪存然后尝试请求(但是再次对其进行解码)并且我陷入了无限循环,因为301 +即自动解码。
编辑,添加代码示例:
var url:URLRequest = new URLRequest('http://mydomain.com/p%C3%A5.jpg');
var loader:Loader = new Loader();
loader.load(url);
现在我希望请求以http://mydomain.com/p%C3%A5.jpg(并且在其他浏览器中执行)的方式越过该行,但在IE中,它会越过http://mydomain.com /pÃ¥.jpg
编辑:我也尝试了用%25替换%的(好)建议(双重编码%),但这不起作用,它只是导致这个请求通过线路:答案 0 :(得分:1)
IE可能首先尝试通过解码来解析文件名。
301是重定向
为什么不做一个redirct页面
这可能是你的另一个选择。
var url:URLRequest = new URLRequest('http://mydomain.com/redirpage.php?page=p%C3%A5.jpg');