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");