我用的是Tomcat4.1和mysql3.23.53。

解决方案 »

  1.   

    String classname=resultSet.getString("name");//此句下面加一句
    classname=new String(classname.getBytes("ISO-8859-1"),"GB2312");
    //试试。
      

  2.   

    试着用gbk代替gb2312看看;
    也可以request.setCharacterEncoding("gb2312");//或者gbk
      

  3.   

    换成tomcat5一般的html代码中的中文乱码问题就可以解决了。
    其他的乱码就需要转码了,就是hq1305018(跃强)的方法,或者把gb2312换成GBK,它支持更多的中文字符。
      

  4.   

    数据库中是乱码么?
    如果不是,需要写个转换函数:
    public static String convertCNForDisplay(String s) {
    if (s == null || s.length() == 0) {
    return null;
    }
    byte[] buffer = new byte[s.length()];
    for (int i = 0; i < s.length(); i++) {
    buffer[i] = (byte) s.charAt(i);
    }
    return new String(buffer);
    }
      

  5.   

    这么简单的问题,这么多人搞不定,还要乱说,真无趣!
    在页面上加上这句:
    <%@ page pageEncoding="GB2312"%>
      

  6.   

    你可以用System.out.println(classname);打印到控制台看是不是乱码,从你的描述中的确看不出是不是数据库的问题
      

  7.   

    数据库的字符串内容,不能直接用ResultSet的getString,
    而要用getBytes,得到byte[],然后用String的String(byte[], String charset)构造一个String。比如:
    byte[] data = rs.getBytes(1);
    String s = new String(data, "GBK");
      

  8.   

    大家请注意:
    我的数据库连接中有一行是这样的:
    "jdbc:mysql://localhost/school/user=root&password=&useUnicode=true&characterEncoding=GB2312";(我是按网上教程照抄的。)
    ---------------------
    在jsp文件的第一行,如果不设置charset,就是像这样
    <%@ page contentType="text/html; charset=" language="java" import="java.sql.*" errorPage="" %>,那么网页中的中文能正常显示,数据库的中文不能正常显示。如果设置了charset,如下面这样
    <%@ page contentType="text/html; charset=GB2312" language="java" import="java.sql.*" errorPage="" %>,那么情况与上面正好相反,网页中的中文能不正常显示,而数据库的中文能正常显示。我总是不能让二者协调工作,都显示出中文。
      

  9.   

    url="jdbc:mysql://"+ip+"/"+sid+"?useUnicode=true&characterEncoding=gb2312";
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection(url,username,password);
    String classname=resultSet.getString("name");这样就可以了啊,首先页面上
    <%@page contentType="text/html;charset=gb2312"%>
      

  10.   

    把url中的characterEncoding参数去掉:
    "jdbc:mysql://localhost/school/user=root&password=&useUnicode=true"
    在页面中设置charset为gb2312或GBK
      

  11.   

    看一看TOMCAT 的配置,让其编译JSP的时候指定按照GB2312编译就可以了,程序没问题.
      

  12.   

    应该加上charset=GB2312"
    建议楼主再看看浏览器的设置
    浏览器的查看-编码
    看看编码方式是不是简体中文
      

  13.   

    首先换成tomcat5,然后添加request.setCharacterEncoding("gb2312");应该就没有问题啦
    我以前也是这个样子的,不过现在好了。
      

  14.   

    把url中的characterEncoding参数去掉:
    "jdbc:mysql://localhost/school/user=root&password=&useUnicode=true"
    在页面中设置charset为gb2312或GBK
    public static String convertCNForDisplay(String s) {
    if (s == null || s.length() == 0) {
    return null;
    }
    byte[] buffer = new byte[s.length()];
    for (int i = 0; i < s.length(); i++) {
    buffer[i] = (byte) s.charAt(i);
    }
    return new String(buffer);
    }
    最好是用第一种的方法!!
    真是的!!
      

  15.   

    建议用javabean来封装数据库操作的东西。你这样写乱死了,懒得看。