Tomcat中关于重定向产生的乱码问题

最近在学servlet,正学到乱码问题的解决。当我在html中用get提交中文到encoding servlet中,接着在encoding中重定向到Welcome servlet中提取参数出现乱码!

html            

u:


encoding.java(servelt)

String username=request.getParameter("username");

response.sendRedirect("/Servlet1/Welcome?username="+username);

Welcome.java (servlet)

String username=request.getParameter("username");
System.out.println(username);           //在这出现乱码

无论用什么都无法解决,new String(request.getParameter("username").getBytes("iso-8859-1"),"utf-8");也没有用。

最终在encoding.java 中加了一句username=new String(username.getBytes("utf-8"),"iso-8859-1");居然解决了。

由此可见,在tomcat中地址栏的地址编码应该是iso8859-1,当在地址栏中加入其它编码的字段,会出现乱码,故而将username转换为iso8859-1编码再转发,问题解决了!


你可能感兴趣的:(tomcat,乱码,servlet)