response.setCharacterEncoding("UTF-8"); 加下这个代码看还会有不?写在response.getWriter(); 前面。

解决方案 »

  1.   

    你的乱码应该是“请登录”这几个汉字报的错误
    你把它转换一下
    new String("请登录".getBytes("UTF-8"));
      

  2.   

    有过滤器,而且设置的是过滤整个根目录。
    就 我说的网页乱码  是会导致浏览器访问的路径错误?
    根本不会访问到想要的servlet强调一下把  //PrintWriter out=response.getWriter();  
    写在if里面就什么问题都没有。
      

  3.   

    这个问题也郁闷了我很久,最后是这样解决的。注意代码的顺序。
    httpResponse.setContentType("text/html");
    httpResponse.setHeader("Cache-Control","no-cache");
    httpResponse.setCharacterEncoding("GB2312"); PrintWriter out = httpResponse.getWriter();
    out.write("<script>alert('用户登录过期!');window.top.location.href='login.ejf?cmd=logout';</script>");
    out.flush(); return;
      

  4.   

    不是printwriter的问题,加一个过滤器,就像三楼那样,就可以解决了 
      

  5.   

    +1我才学java在Servlet中也用到过这个,先设置你的编码格式输出才不会有问题,还有你的字符串最好也要改下相应的格式比如String Name Request.getParameter("Name");
    Name=new String(Name.getBytes("iso-8859-1"));
      

  6.   

    response.setContentType("text/html;charset=utf-8");
      

  7.   

    你写一个过滤器就行了啊 ,或者简单点就直接加上
    response.setContentType("text/html;charset=utf-8");就OK了啊 
      

  8.   

    你也可以直接到根目录下有个配置文件 修改下 Encoding改成"utf-8"
      

  9.   

    楼上说的很对:httpServletResponse.setContentType("text/html");
    httpServletResponse.setHeader("Cache-Control","no-cache");
    httpServletResponse.setCharacterEncoding("UTF-8");
    酱样子就KO啦!不信试试哦
      

  10.   

    我今天也遇到了这样的问题,把PrintWriter注释后一切正常了,为什么?