那你在数库中放的是中文吗????到数据库中看看??
要是再不行,就升级tomcat吧。我用的4.0的,按上面的方法我使用中文没有问题。

解决方案 »

  1.   

    不要
    areaname=new String(str.getBytes("ISO-8859-1"),"GB2312");
      

  2.   

    建议用不用任何中文控制或转换
    中文参数的读取就不会有问题,数据库操作也不会有问题
    中文常量输出不要用out.print
    而用<%...%>显示中文<%...%>
      

  3.   

    我也是那样写的,没有错啊,不过你最好写个
    java程序转换,然后调用就可以了。public class ChineseConvert{
            public void ChineseConvert(){
            }
            public static String OracleToGb2312(String input_char){
                    String output_char=null;
                    try{
                            output_char=new String(input_char.getBytes("8859_1"),"gb2312");
                    }
                    catch(Exception e){
                            System.out.println(e);
                    }
                    finally{
                            return output_char;        
                    }
            }
    }然后调用这个类就可以了,只要在转换的时候,把要转换的字段前加上String  name=ChineseConvert.OracleToGb2312(rs.getString("name"));
      

  4.   

    Times2001,你好,
    我试过你的方法,还是不行。
      

  5.   

    曾经遇到过,tomcat + sqlserver2000
    不管怎么转,都是乱码,数据库中都是,累死个人
    换到resin,什么都没改,好了。
    现在放弃了tomcat了
      

  6.   

    看看你的IE--查看--编码  是否是简体中文(GB2312)?
      

  7.   

    我已经换了tomcat4.0.4,试了还是不行,准备换resin试试,另我的IE编码是简体中文(GB2312)的。
      

  8.   

    试试这个:
    在插入数据库前先将字符串str进行加密:
    java.net.URLEncoder.encode(String str);
    从数据库中取出时再解码:(可以先不加密,只解码,试一试;不行再加密)
    java.net.URLDecoder.decode(String str);
      

  9.   

    我的也是这样啊,在mysql数据库的命令行中用select查询出来的结果是中文的,但到了网页上旧成了?????????????问号!!!!!!!!!
      

  10.   

    数据库放进去要编码 写出来不要编码
    页面传递中文 传过去要url编码 接受要编码 写不要编码 over
      

  11.   

    str = StringUtils.normalize(rs1.getString("areaname"));
    这样应该可以
      

  12.   

    将<%@ page contentType="text/html; charset=gb2312"  %> 写成
    <%@ page contentType="text/html;charset=gb2312"  %> 即去掉空格
    试试,我碰到过类是问题
      

  13.   

    如果数据库里的字符是乱码的话应该在存入数据库的时候也进行一次转换
    保存时:
    public String gb2unicode(String str) {
      try {  
        str = new String(str.getBytes("GB2312"), "ISO8859_1");
      } finally {
        return str;
      }
    }
    取出时:
    public String unicode2gb(String str) {
      try {
        str = new String(str.getBytes("ISO8859_1"), "GB2312");
      } finally {
        return str;
      }
    }