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编码解释了。