java 链接地址中文乱码

做个记录,做过多次,但是在下次用时又找不到了,又需要到网上去找,在链接地址中含有中文时,接收端获取的是乱码,需要进行转码:
方法一:
在jsp页面使用js进行转码:

function open(){
  var uname="中华人民共和国";
  var codeValue= encodeURI(encodeURI(uname));//
  location.href="http://host/spp/urlmanager.jsp?uname="+codeValue;
  }


在servlet或者filter中使用:
String uname=req.getParameter("uname");
String name=URLDecoder.decode(uname,"UTF-8"); //解码

方法二:
在jsp页面使用java将中文选转换为UTF-8编码:
<%
String uname="中华人民共和国";
String uname1=java.net.URLEncoder.encode(uname,"UTF-8");
String url="http://host/spp/urlmanager.jsp?uname="+uname1;
out.println("location.href=\"" + url+ "\";");
%>

在后台(servlet、filter)接收时进行转换:
String uname=request.getParameter("uname");
String userName=new String(uname.getBytes("ISO8859-1"),"UTF-8");

你可能感兴趣的:(中文乱码,tomcat乱码,java乱码)