带中文的url一般要通过2个编码:
一个是浏览器对url进行编码,在以下情况下会以UTF-8格式进行编码(测试browser:ie6,7,ff):
<a href>xxx<a>;javascript:window.location.href;如果手工在浏览器输入传入的中文参数,则会以gb2312编码。
二是被web服务器编码,如tomcat会以ISO-8859-1格式对传来的url进行编码
所以,知道url编码的过程后,在服务器端的脚本对url中文参数的解码的工作就清晰了:就是复原所传参数到客服端的编码,以java为例:
另外,在客户端确定传来的中文参数一定是服务器端期望的编码,所以要用javascript对其中文参数以UTF-8编码: