IE下的flash加载中文URL文件 问题

使用flash 加载 http://localhost/data/女/a.jpg 图片

这里的 “女” chrome 转化为统一标识符后 %E5%A5%B3 此为UTF-8编码 中文3字节

二进制: 11100101 10100101 10110011

ie下 %C5%AE 此为GB2312编码 中文双字节

二进制: 11000101 10101110

在IE下使用encodeURI将中文URL编码后IE仍会将编码后的URL以utf-8解码 再将解码的url以gb2312方式发送。。

http://localhost/data/女/a.jpg?%e5%a5%b3    问号后IE不会去解码。

服务器接到gb2312编码的 “女” 又以UTF-8解码自然会出问题。

接到 gb2312的 %C5%AE(女) 以utf-8解码后 返回 Ů

由于Flash里的所有请求都是先给IE,IE再给服务器

所以解决办法就在IE这

解决办法:
一:不用中文URL
二:让服务器理解IE发的是GB2312编码的URL 

只要URL里的中文够多 UTF-8解释不了,服务器就会以GB2312编码解释了。

posted @ 2011-12-19 18:19  晨祷  阅读(793)  评论(0编辑  收藏  举报