最近在做一个项目,利用表单输入中文信息,映射到servlet处理时总是会出现中文乱码的问题,下面为doGet的方法
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=utf-8"); //解决中文乱码问题 request.setCharacterEncoding("utf-8");//解决中文乱码问题 PrintWriter out = response.getWriter(); String info=request.getParameter("info"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.println("<h1>"+info+"<h1>"); out.println(" </BODY>"); out.println("</HTML>"); out.close(); }
本来第三、四行代码不是这些的,只有以下的代码: response.setContentType("text/html"); Html传值时的编码是utf-8,加上这两行代码之后,servlet中文乱码问题就解决了
response.setContentType("text/html; charset=utf-8"); //解决中文乱码问题 request.setCharacterEncoding("utf-8");//解决中文乱码问题
希望以上的能够帮助到大家