带中文的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编码:
本文详细介绍了中文URL在浏览器和服务器端的编码过程。包括浏览器如何根据情况选择UTF-8或GB2312编码,以及服务器端(如Tomcat)如何使用ISO-8859-1编码处理URL。此外,还提供了如何在Java中正确解码这些参数的方法,并给出了客户端确保参数正确编码的JavaScript示例。
1464

被折叠的 条评论
为什么被折叠?



