URL编码

JS拼成的地址里的中文,和直接在地址栏中输入的中文,Request.QueryString到的结果是不一样的,
可能是JS对中文作了编码(准确原因是两次的编码方式不一样,JS用的是utf-8,地址栏用的是GB2312)
    <input type="text" name="ss" id="sss" /><input type="submit" name="sss" onclick="location.href='aa.aspx?a='+document.getElementById('sss').value;return false;"/>


在http传输数据时,url只能使用assic字符集
某些特殊字符也需要编码,方式为用%加上该字符在ISO-8859-1 character-set字符集中对应的两个16进制数。即在其assic码的16进制表示前加%。
例如:
对于汉字,则是将汉字编码后,在每个字节前加%

地址栏直接输入的中文:将汉字编码(GB2312)后不作处理
Post请求:使用的编码方式为utf-8,每个字节前加% 

get空格转换成了%20

Post空格转换成了+

 

posted @ 2012-05-10 16:48  人工智能  阅读(237)  评论(0编辑  收藏  举报