比如我们在浏览器中输入*******.html?depotId=A0001&name=你好&title=你好吗&content=真的啊
在java代码中用request.getParameter("name")
结果获取到时乱码
这是为什么呢
原因如下
浏览器会自动对汉字进行转码
传到服务器实际url为
吼吼吼 真不可思议
等价于在java中进行了如下操作
URLEncoder.encode("你好","GBK")
由于tomcat对url进行解码用的是ISO-8859-1
等价于
URLDecoder.decode=(“%E4%BD%A0%E5%A5%BD","ISO-8859-1");
所以就产生了乱码
解决方案
url
encodeURI(encodeURI(name ));
java端
URLDecoder.decode( name ,"utf-8");