request.getRequestDispatcher()跳转+中文乱码
问题:
在利用
RequestDispatcher rd = request.getRequestDispatcher(url);
rd.forward(request, response);
跳转页面时,页面上的中文全部变成乱码
我在方法中使用了
PrintWriter out = response.getWriter();
但是没有设置编码
解决方法:
方法中如果有
PrintWriter out = response.getWriter();
就需要在此之前设置编码方式
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
不能够在PrintWriter out = response.getWriter();后面设置编码方式,否则就会中文乱码,因为在out对象初始化之后再设置就编码方式就没有任何意义了
如果方法中没有PrintWriter out = response.getWriter();可以不设置编码方式,这样也不会出现中文乱码的问题