上面的代码打错一个地方 PrintWriter out = rep.getWriter();
改为                   PrintWriter out = response.getWriter();

解决方案 »

  1.   

    楼主把response,rep 和 request,req搞混了,用Eclipse可自动检查。
    至于中文乱码的问题,是因为你把字符集设置为了"UTF-8",应改为“GBK"
    或"GB2312"
      

  2.   

    1 在IE里直接打开 a.html, 不要通过http,直接用文件打开,看看页面的编码到底是啥? 我怀疑哦!!!2 修改你的代码顺序为
        response.setCharacterEncoding("UTF-8"); // 先指定输出流的编码
        PrintWriter out = response.getWriter(); // 再拿到输出对象
        response.setContentType("text/html;charset=UTF-8"); 请参考我以前的一个文章,研究过这个问题!
    http://www.java2000.net/viewthread.jsp?tid=309
      

  3.   

    to 老紫竹:
    我右键单击a.html->打开方式为记事本->单击另存为->编码为utf-8这证明确实是utf-8的字符集
    换位您给的语句后确实能正常显示,很奇怪,还是不知其所以然
    为什么
    response.setContentType("text/html;charset=UTF-8");
    response.setCharacterEncoding("UTF-8");
                    PrintWriter out = rep.getWriter();
    就无法正常显示?
    而更换为你给的代码就可以了?
    这些代码仅仅是练习用,并非项目
    所以很想知道原因  
    再次感谢,如果可以请解释一下!!!!