byte[] ch=str.getBytes("UTF-8"); 
然后再将ch转成gb2312

解决方案 »

  1.   

    byte[] tmpbyte2=str.getBytes("ISO8859_1");
    fos.write(tmpbyte2);
      

  2.   

    str = new String(str.getBytes("UTF-8"),"GB2312");
      

  3.   

    byte[] tmpbyte2=str.getBytes("ISO8859_1");
      

  4.   

    各位兄弟,我改成getBytes("ISO8859_1");还是不行啊!其他两位的方法我一开始就用过,没用。怎么办啊?急!!!
      

  5.   

    utf8和gb2312 是不能直接转换的.必须经过中间一层..比如先转成gbk,再转gb2312
      

  6.   

    你的操作系统是中文windows吗?如果是的话,那麽,在你调用str=br.readLine()时,是按照GBK编码方式读取的啦!可是chapter却是用UTF-8存储的,当然错了!应该这样:BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(“chapter”),“UTF-8”));
      

  7.   

    BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(“chapter”),“UTF-8”));PrintWriter pw=new PrintWriter(new OutputStreamWriter(new FileOutputStream("out.txt"),"gb2312"));