jsp get参数乱码问题

时间:2022-05-24 01:17:07
摘自:username2.iteye.com/blog/1597917
个人理解中文传送的时后需要转码: js代码:
要进行两次转码才不会出现乱码(默认为UTF-)
encodeURI(encodeURI(http://localhost/qq/index.jsp?title=专业)); java接收参数代码:
String title = request.getParameter("title");
title = URLDecoder.decode(title, "UTF-8"); java 编码:
http://localhost/qq/index.jsp?title=URLEncoder.encode(URLEncoder.encode(title,"UTF-8")); 本地开发时候没有乱码,可是到linux中出现乱码, 下面是解决的方法, 但没有找到乱码的原因,以下作为使用记录。 1传递中文
parent.location.href=queryURL+"?title="+encodeURI(encodeURI(title ) ); 有存在iframe,则decode参数,后传递数据。
<%
String title = request.getParameter("title");
if(title !=null ){
title = java.net.URLDecoder.decode(title, "UTF-8");
//如果这里还是乱码则用下面的方法转码
// title=new String(title.getBytes("GBK"),"ISO8859-1");
}
%>
<iframe height="" width="100%" src="newsList${ suffix}?c2str=${c2str}&tabid=1&title=<%=(title!=null?title:"")%>&area=${ !empty param.area? param.area:'' }" id="newsList" scrolling="no" frameborder=""></iframe> 3第三个页面接收数据再次转码
title = URLDecoder.decode(URLDecoder.decode(title, "UTF-8") ,"UTF-8") ; 作为个人记录用。 总结:最后进行了两次编码,和两次解码。再没有出现乱码了。但为什么还是不清楚