Servlet中 post请求方式的中文乱码解决??

HTML




Insert title here

姓名:


Servlet

 request.setCharacterEncoding("UTF-8");
    Writer out=response.getWriter();
    String name=request.getParameter("username");
    out.write(name);


    上面代码有错误嘛?
    为什么我的乱码问题还是没有解决

jsp页面中最上面头文件能设置字符编码的全部设置成utf-8,然后还不行的话就在servlet中设置response.setCharacterEncoding("UTF-8");

你request设置了乱码处理, System.out.println(name);这个才不是乱码, 想要out.write(name)非乱码;你应该对response处理response.setCharacterEncoding("UTF-8");

请求和相应都要做字符编码设置,

你在前台页面往后台传值的时候就应该先使用JavaScript进行一下编码,一般有三种方式,escape,encodeURI,encodeURIComponent三种方式编码,然后到了后台得到请求结果后再进行解码就可以了啊

添加请求的编码格式
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
response.getWriter().append("登陆成功!");
}

 //防止中文参数乱码
         response.setContentType("text/html;charset=utf-8");
         request.setCharacterEncoding("utf-8");