url传输中出现中文的解决办法
以下在我代码的编译环境中通过,有以下两个页面
reponse.jsp页面:
request.setCharacterEncoding("utf-8");//注意此必须要有,作用是是两个页面的编码相同
String ch="白日依山尽,黄河入海流。\n欲穷千里目,更上一层楼。";
/*这里需要编码两次,我尝试如果编码一次会出现乱码,至于为什么是两次,有知道的小伙伴请告诉我一声,当然也可以写成ch=java.net.URLEncoder.encode(java.net.URLEncoder.encode(ch,"utf-8"),"utf-8");*/
ch=java.net.URLEncoder.encode(ch,"utf-8");
ch=java.net.URLEncoder.encode((ch),"utf-8");
response.sendRedirect("show.jsp?ch="+ch);
show.jsp页面:
response.setCharacterEncoding("utf-8");//注意这个必须要有,作用是与传输页面的编码保持一致
String ch=request.getParameter("ch");
ch=java.net.URLDecoder.decode(ch,"utf-8"); //解码只需要解一次,这个同上,有知道的小伙伴求告知
/*在网上上打印传输过来的中文*/
Writer w= response.getWriter();
w.write(ch);
w.flush();
效果: