没有UTF-8这种编码,给你解决地代码:
  private static final String  inCode = "ISO-8859-1";
  private static final String  outCode  = "gb2312";  /**
   * 转换字符串编码ISO-8859-1为gb2312
   * <div>到数据库时用readString(String inputString)</div>
   * @param inputString 输入字符串
   * @return 转换后的字符串
   */
  public static String readString(String inputString){
    try {
      byte[] tempByte = inputString.getBytes(inCode);
      inputString = new String(tempByte,outCode);
    }
    catch (UnsupportedEncodingException ex) {
      throw new RuntimeException("Unsupported encoding type.");
    }finally{
      return inputString;
    }
  }  /**
   * 转换字符串编码gb2312为ISO-8859-1
   * <div>显示的时候用writeString(String inputString)</div>
   * @param inputString 输入字符串
   * @return 转换后的字符串
   */
  public static String writeString(String inputString){
    try {
      byte[] tempByte = inputString.getBytes(outCode);
      inputString = new String(tempByte,inCode);
    }
    catch (UnsupportedEncodingException ex) {
      throw new RuntimeException("Unsupported encoding type.");
    }finally{
      return inputString;
    }  }

解决方案 »

  1.   

    什么还要有UTF-8?毕竟互联网70%以上的信息仍然是英文。如果连英文都用2个字节存取(UCS-2),空间浪费不就太多了?所谓UTF-8就是这样一个为了提高英文存取效率的字符集转换格式:Unicode Transformation Form 8-bit form。用UTF-8,UNICODE的2字节字符用变长个(1-3个字节)表示:对英文,仍然和ASCII一样用1个字节表示,这个字节的值小于128(\x80); 
    对其他语言的用一个值位于128-256之间的字节开始,再加后面紧跟的2个字节表示,一个字符一共是3个字节; 
    因此,在应用中程序处理过程中所有字符都是16位(双字节),但在存取转换成字节流时使用UTF-8格式转换,对于英文字符来说和原来用ASCII方式存取时相比大小仍然是一样的,而对中文来说和原来的GB2312编码方式相比,大小为:(3字节/2字节)=1.5倍
      

  2.   

    nsupportedEncodingException 就换一种嘛
      

  3.   

    to xwlovesh(xiewei):
      换成GB2312也是不行的,编译错误为
    “unhandled exception type UnsupportedEncodingException”
    再说,UTF-8编码是有的
      

  4.   

    靠,你没有使用try catch去处理可能发生的异常!
      

  5.   

    是编译错误,不是运行期错误,跟try有什么关系,连运行都运行不了,要try干嘛
      

  6.   

    java是强类型语言,如果编译器发现你没有去处理可能抛出的异常,就是语法错误!看来你对java的基本语法都不熟悉!回去翻翻书吧!
      

  7.   

    “unhandled exception type UnsupportedEncodingException”
    还有就是这个错误题是,已经很明确了!哎!!!!