java中get请求的中文乱码问题
表单采用Get方式提交,解决乱码的方法为:
方式一:手动解码
param = new String(param.getBytes("iso8859-1"), "utf-8");
此方式,依赖于服务器
方式二:配置tomcat
修改tomcat的server.xml: URIEncoding="utf-8"
此方式,依赖于服务器
方式三:url编码(不依赖Tomcat的配置,推荐):
浏览器中两次URL编码。
var param = "中";
param = encodeURI(param);
alert(param);
param = encodeURI(param);
alert(param);
讲param编码两次之后传递到后台
服务器中自己再做一次URL解码。
参数传递到服务器时候,服务器会对参数自动的做一次解码,我们只需要自己手动解码一次
java.net.URLDecoder.decode(param, "utf-8");
java.net.URLDecoder.decode(param, "utf-8"); //url解码
java.net.URLEncoder.encode(param, "utf-8"); //url编码