有人知道为什么FF会将单引号'
编码为%27
吗?
单引号应该是URL中的有效字符。 实际上所有其他浏览器IE7 / IE8 / Chrome5 / Safari4都可以通过NOT编码单引号进入%27。
这是一个FF错误,还是我错过了什么?
我正在使用FF3.6.1进行测试
为了便于测试,只需在yourpage.html
<script type="text/javascript">
window.alert("this url = " + window.location.href);
</script>
然后转到yourpage.html?test=quote'encoded
FF不会替换地址栏中的网址,但会显示:
yourpage.html?test=quote%27encoded
所有其他浏览器都会显示
yourpage.html?test=quote'encoded
谢谢!
答案 0 :(得分:4)
Firefox 4(在Ubuntu上)也逃脱了单引号。
Chromium 11.0.696.57和Google Chrome 12.0.742.16都没有!
但是,应该注意所有字符可以进行编码。 url-encode A
是合法的,如果有人希望并且应该完全等同于直接在您的网址中使用A
,那么您的代码应该能够同时处理版本
来自RFC 1738:
另一方面,不需要编码的字符 (包括字母数字)可以在特定方案内编码 URL的一部分,只要它们不用于保留 目的