public static String UnicodeToChinese(String str){
        try{
          if (str==null || str.equals("")) {
            return "";
          }
          else{
            String newStr=null;
            newStr=new String(str.getBytes("ISO8859_1"),"gb2312");
            return newStr;
          }
        }
        catch(UnsupportedEncodingException e){
          e.printStackTrace();
          return str;
        }
      }
    
      public static String ChineseToUnicode(String str){
        try{
          if(str==null || str.equals("")) return "";
          String newStr=null;
          newStr=new String(str.getBytes("gb2312"),"ISO8859_1");
          return newStr;
        }
        catch(UnsupportedEncodingException e){
          return str;
        }
      }

解决方案 »

  1.   

    我现在不是想转换编码形式,我遇到的问题是,以前第二个页面得到前一个页面表单里的数据都没问题,为什么现在出了乱码,而且程序的写法都是相同的。都有
    <%@ page contentType="text/html; charset=gb2312" %>这句话
      

  2.   

    import="java.net.*;"
      调用URLEncoder.encode(表单值)传送,应该就没问题了,以前我有遇到类似情况。
      

  3.   

    这跟服务器软件有关,用WebSphere和Resin不会有问题,用Tomcat会出现这种情况
      

  4.   

    不过我一直就是用resin出现这种情况,甚至把页面值插入数据库也是。