你用的是BufferedReader的哪个方法读的?

解决方案 »

  1.   

    readline()不行,用read()或read(char[],int,int)读,因为readline()不支持Unicode。
      

  2.   

    OutputStreamWriter out = new OutputStreamWriter (yourOutputStream,"GB2312");
    InputStreamReader in = new InputStreamReader(yourInputStream,"GB2312")
    Java的Writer和Reader会根据机器自动进行编码转化的,你还是显式的指明更好一些。