码迷,mamicode.com
首页 > Web开发 > 详细

混乱的url编码

时间:2015-06-15 12:57:55      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

转载自:http://www.ruanyifeng.com/blog/2010/02/url_encoding.html

一。问题的由来。 url就是网址,只要上网就一定会用到。 一般来说,URL只能使用英文字母,阿拉伯数字和某些标点符号,不能使用其他文字和符号。 比如,世界上有英文字母的网址,http:
//www.xyz.com‘ 但是没有希腊文的网址http://aerfa,beita,segma.com。这是因为网络 标准RFC 1738做了硬性规定: 只有字母和数字[0-9a-zA-Z], 一些特殊符号$-_.+!*(),以及某些保留字,才可以不经过编码直接用于URL 这意味着,如果URL中有汉字,就必须编码后使用。但是麻烦的是RFC_1738没有规定具体的编码方法,而是交给应用程序‘浏览器’自己决定。 这导致url编码成为一个混乱的区域。 下面就让我们看看,“URL”编码到底有多混乱。我会依次分析四种不同的情况,在每一种情况中,浏览器的编码方法都不一样。 把他们的差异解释清楚之后,我再说如何用javascript找到一个统一的编码方法。 1, http://zh.wikipedia.org/wiki/春节 结论1;网址路劲的编码,用的是utf8编码 2,http://www.baidu.com/s?wd=春节 结论2:查询字符串的编码,用的是操作系统的默认编码。 3,在浏览器直接输入春节 baidu google 结论3:get和post方法的编码,用的是网页的编码 4,ajax调用的url包含汉字 ex: url=url+"?q=" + document.form.getelements[0].value. //假设表达提交的为春节。 http_request.open(GET, url, true); 结论4:在ajax调用中,ie总是采用GB2312编码(即操作系统默认编码), 而firefox总是采用utf-8编码。

 

混乱的url编码

标签:

原文地址:http://www.cnblogs.com/i80386/p/4576699.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!