首先你用客户端连接数据库,看看库中的数据是不是正确的。你在连接串中加上 
    ?useUnicode=true&characterEncoding=gb2312";

解决方案 »

  1.   


    加到 JSP 页面上方:<%request.setCharacterEncoding("UTF-8");%>
    <%@page contentType="text/html;charset=UTF-8"%>
      

  2.   

    如果你用的是weblogic连接池的话,在property中加入
    weblogic.codeset="gb2312"试试
      

  3.   

    我用的是struts, 在struts-config.xml中配置的数据源,用
    ?useUnicode=true&characterEncoding=gb2312" 会报错,我问过这个问题,在
     http://expert.csdn.net/Expert/topic/1768/1768639.xml?temp=.3992121
      

  4.   

    用一个filter进行转换的话 从jsp中写入数据库的中文,读出后可以正常显示
    但这时从原有系统(pb+sybase)中看数据库中的中文是乱码。反之,从原有系统中录入的中文数据,用jsp页面显示是乱码
      

  5.   

    <%@ page contentType="text/html;charset=gb2312"%>
    加上看看
      

  6.   

    只要数据库的中文是正确的
    文件头上加上:
    <%@ page contentType="text/html;charset=gb2312"%>
    就可以了如果数据库中的中文不正确
    在写进数据库前用:
    String str=new String(str.getBytes("ISO8859_1"),gb2312);
    进行转换
    取出数据时
    文件头上加上:
    <%@ page contentType="text/html;charset=gb2312"%>