困扰了几天的js乱码,在同事的帮助下今天终于解决啦!贴出来跟大家分享一下。

我这个是一个登陆页面,如果输入的验证码有误,就用js弹出个提示框“验证码有误”,刚开始,用来很多编码,中文全是???。原来是少了一个response.setCharacterEncoding("UTF-8");,当然utf-8可以换成别的。

 
  
  1. response.setContentType("text/html;UTF-8");  
  2. response.setCharacterEncoding("UTF-8"); //刚开始就是少了这个  
  3. PrintWriter out = response.getWriter();  
  4.  
  5.  
  6. String validateCode = request.getParameter("validateCode");  
  7. String rightCode = (String) request.getSession().getAttribute("validateCode");  
  8.  
  9. if(!validateCode.equalsIgnoreCase(rightCode)){  
  10. out.println("<script language='javascript'>");  
  11. out.println("alert('验证码有误!')");  
  12. out.println("javascript:history.go(-1);");  
  13. out.println("</script>");  
  14. System.out.println("验证码有误!");  
  15. }