文件头上加:
<%@ page contentType="text/html; charset=gb2312"%>
但是由于tomcat版本不同对中文的支持也有所不同
所以如果还是不行的话请改为:
<%@ page contentType="text/html; charset=ISO8859_1"%>

解决方案 »

  1.   

    <%@ page contentType="text/html; charset=gb2312" language="java" %>在要接收 前页面传过来的中文时请使用
    String title = request.getParameter("title").trim();
    title=new String(title.getBytes("iso-8859-1"),"GBK");
      

  2.   

    遇到乱码不要慌张,一步步分析:
    如果页面里的中文显示出来都是乱码,不妨看一下IE“查看”目录下的“编码”格式,看是不是“简体中文”,如果不是,你把它改成“简体中文”看能不能正常显示,如果能,说明是服务器的默认设置不是中文,你可以改配置文件里的默认设置,也可以在页面头部加上
    <%@ page contentType="text/html; charset=gb2312"%>
    另外,如果已进行了上述设置,那么在表单的提交,以及页面间参数的传递过程中也有可能产生乱码,这是由于传参过程中用的是ISO8859-1字符集造成的,所以在取出是需进行一下转换,即楼上的
    String title = request.getParameter("title");
    title=new String(title.getBytes("ISO8859-1"));
      

  3.   

    心宇讲得比较对了。
    补充几点如下:
    1. 如果你用了JDK 1.4+,最好使用charset=GB18030(2000年发布的新的国家标准,注意GB要大写)。设置contentType之后页面就不会产生乱码。
    2. Tomcat 4 多数情况下参数能正确识别为中文编码,如出现问题,尽量不要用上面的手动重新编码。而应该采用以下的几种办法:
    a. 使用Filter来设置编码。在tomcat的example目录的servlet里有一个Encoding的filter,看一下源代码就知道用法了。如有需要也可以照样子自己写一个filter来根据request的信息来智能的解析编码。
    b. servlet或jsp,使用request.setCharacterEncoding()方法来强行设置编码。注意对于jsp来说,必须forward到下一个jsp才生效,所以最好用MVC模式。
      

  4.   

    <%@ page contentType="text/html; charset=gb2312" language="java" %>
    应该都可以了,如果从数据库取,可以转一下吗
    先取出一个字符串数据str,然后
    str=new String(str.getBytes("iso-8859-1"),"gb2312");
      

  5.   

    <%@ page contentType="text/html;charset=GB2312"%>
    一定行
      

  6.   

    楼上杀神说得对,前几天我就遇到这个问题,手工改成中文,一刷新,就又变回西欧字符.
    加入<%@ page contentType="text/html;charset=GB2312"%>后,就好了!!