String test=new String(rs.getString(field).getBytes("GBK"),"ISO-8859-1");

解决方案 »

  1.   

    public static String UnicodeToChinese(String s){
        try{
           if(s==null||s.equals("")) return "";
           String newstring=null;
           newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
           return newstring;
          }
        catch(UnsupportedEncodingException e)
        {
        return s;
        }
        }
      
      //添加数据入数据库时用
      public static String ChineseToUnicode(String s){
        try{
        if(s==null||s.equals("")) return "";
        String newstring=null;
        newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
         return newstring;
        }
        catch(UnsupportedEncodingException e)
        {
        return s;
       }
        }
      

  2.   

    String test=new String(rs.getString(field).getBytes("GBKISO-8859-1"),"GBK");
    试试这样作,总之JSP中的所有中文问题用这样两种方法都可解决的;
      

  3.   

    To 边城浪子:
    getBytes("GBKISO-8859-1"),"GBK");的写法应是getBytes("iso-8859-1"),"GBK"吧。这样修改后还是没能成功。郁闷啊!
    我相信解决办法也就是这些了。谢谢大家!即使将来解决不了这个问题。也有分给大家,以表敬意:)
      

  4.   

    连接数据语句后面加上&CharactorEncoding=GBK
      

  5.   

    连接数据库时也加了编码设置
    "jdbc:mysql://" + host + "/" + database + "?user="+user+"&password="+password+"useUnicode=true&characterEncoding=GBK";我现在真有点无可耐何了。哎。。不知还有没有其他的思路?
      

  6.   

    你用的是什么服务器啊?TOMCAT?
      

  7.   

    连接数据库时也加编码设置
    "jdbc:mysql://" + host + "/" + database + "?user="+user+"&password="+password+"useUnicode=true&characterEncoding=GBK";
     上面应该没有问题的。我上午遇到这样的问题:jdbc:microsoft:sqlserver://127.0.0.1:1433;characterEncoding="GBK";DataBaseName=JSP加了characterEncoding=GBK就ok 了
      

  8.   

    我的远程系统是unix+tomcat+mysql
    我的characterEncoding=GBK 这点一直是这样的。在服务商将mysql升级之前是不存在这个问题的。升级后就怎么也解决不了!!
      

  9.   

    To nf_happy() :
    "用GBK编码编译你的java类"是什么意思呀?我是在dos下用javac name.java 方法编译的。
      

  10.   

    javac -encoding GBK name.java