给你一个我做的函数,和你的是一样的,我这没问题。
   /**
    * ISO88591ToGB2312
    *
    * @param str 将转换的字符串
    * @return 转换后的字符串
    */
   public   String ISO88591ToGB2312( String str )
   {
      if( str == null ) return str;
      try
      {
         return new String( str.getBytes( "8859_1" ), "GB2312" );
      }
      catch( UnsupportedEncodingException  usex )
      {
         return str;
      }
   }