你应该转化一下就可以了
 String tt=rs.getString("subject"); 
  String t=new String(tt.getBytes("8859_1"));
这样解决了
 自己试试吧可要给分哪!

解决方案 »

  1.   

    请检查数据库里的数据就已经是乱码了?
     如是,请在你的插入页要用GBK编码
      

  2.   

    呵呵,mysyche您说的根本就不好用,不知道您有否看过我的帖子就把代码复制过来了?对不起您让我怎么能给你分啊?分不分其实无所谓,最重要是大家能够共同进步.
    有朋友能帮我看看吗?
      

  3.   

    在jsp代码中的初始加上
    request.setCharacterEncoding("gb2312");
      

  4.   

    public String getStr(String str){
      try{
        String temp_p=str;
        byte[] temp_t=temp_p.getBytes("ISO8859-1");
        String temp=new String(temp_t);
        return temp;
      }catch(Exception e){
        return null;
      }
    }
      

  5.   

    你是用MYSQL吗?
    如果是的话可以直接修改my.ini
    [mysqld]
    里加入default-character=gbkurl:
    "....&Encoding-character=gbk"
      

  6.   

    我觉得是不是你的这个workM的strtochn方法里有点问题,它是返回字符串吧.
    我所说的问题就是你的这个方法里差个字符集转换的过程.
    至于java的中文问题是很令人头痛的.特别是在jsp网页里,我一句半句也说不清楚.
    想解决你的问题,就在这个方法对接收进来的字符串参数进行转换.例如:
    String a = new String(b.getBytes("gb2312"),"ISO-8859-1");b是传入进来的参数.
    不过我觉得好像这样还不够,最好能把你这个bean的strtochn这个方法的代码贴出来我看一下.
      

  7.   

    noratong(诺拉) ---好象不是这个问题,我的方法里和你写的基本差不多(我用的access).
        public String strtochn(String str_in)
        {
            byte[] byte1=str_in.getBytes();
            String temp="";
            try{
            temp=new String(byte1,"8859_1");
                }
            catch(Exception e){}
            return temp;
        }
      

  8.   

    同志们,我要冤枉死! 你们说的用new String () 还有什么getByte();的方法,在我这里根本都不关用啊.还有没有点别的方法??
      

  9.   

    另外,在jsp文件中设置request.setCharacterEncoding("gb2312");也是不好用的,本来想在servlet中设置,但是request和response对象人家servlet根本不认!!我试图自己定义两个这样的对象,但是失败了,原因是HttpServletRequest类是抽象类,不能直接定义对象.那么我又试图弄一个HttpServletRequest类的继承类,但是我想这件事肯定没有那么复杂!!!
    另外更加值得注意的是,我这个是数据库的中文问题,并不是普通的jsp文字显示问题,请好好看题啊~~哭死了啊~~~~呜~呜~呜~呜~呜~呜~呜~呜~csdn的仙人啊,您何时才能出现啊,
    拉拉拉~~~我是csdn的冤死鬼~~~~~拉拉拉~~~我是csdn的冤死鬼~~~~~拉拉拉~~~我是csdn的冤死鬼~~~~~拉拉拉~~~我是csdn的冤死鬼~~~~~拉拉拉~~~我是csdn的冤死鬼~~~~~拉拉拉~~~我是csdn的冤死鬼~~~~~
      

  10.   

    本人在暑假也遇到同样的问题,现已解决,解决方法如下
    2。mssql2k 中文无法正确存储,中文皆变为“??”msAccess中有同样问题
    产生原因:同时使用<%@ page contentType="text/html;charset=gb2312"%>和java字符转换。
    解决方法:在access中,
    两者在同一网页中决不可同时使用
    要么用<%@ page contentType="text/html;charset=gb2312"%>,
    要么用java字符转换方法:
    public String getStr(String str)
    {
    try
    {
    String temp_p=str;
    byte[] temp_t=temp_p.getBytes("GBK");
    String temp=new String(temp_t,"ISO8859_1");
    return temp;
    }
    catch(Exception e)
    {
     
    }
    return "null";
    }
      

  11.   

    我的问题解决了,在public String strtochn(String str_in)方法里,根本就什么动作都不做,直接把参数返回就搞定了!!!!
    谢谢大家:)共同进步,我也不知道你们谁说对了