测试文件:
<?xml version="1.0" encoding="gb2312"?>
<xml encoding="gb2312">
    <html id="p001">
        <head>
            <meta/>
            <script/>
        </head>
        <body>
            <label id="a001">
      用户
</label>
            <label id="a002">
      密码
</label>
        </body>
    </html>
</xml>
java源程序:
import java.io.*;public class IOStreamDemo {

public static void main(String[] args) throws IOException{     BufferedReader in = new BufferedReader(new FileReader("C:\\Documents and Settings\\Administrator\\桌面\\test\\test.html"));
    String s, s2=new String();
    while((s=in.readLine())!=null)
    s2 += s+"\n";
    in.close();
    System.out.println(s2);
}
}
运行结果:
<?xml version="1.0" encoding="GBK"?>
<xml encoding="gb2312">
    <html id="p001">
        <head>
            <meta/>
            <script/>
        </head>
        <body>
            <label id="a001">
      鐢ㄦ埛
</label>
            <label id="a002">
      瀵嗙爜
</label>
        </body>
    </html>
</xml>

解决方案 »

  1.   

    s2 += new String(s.getBytes("ISO8859_1"), "GBK") + "\n";
      

  2.   

    改成下面的样子试试:BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\Documents and Settings\\Administrator\\桌面\\test\\test.html"), "gb2312"));
      

  3.   

    maquan的我试了,还是不行乱码又变了个形状
    <?xml version="1.0" encoding="gb2312"?>
    <xml>
        <html id="p001">
            <head>
                <meta/>
                <script/>
            </head>
            <body>
                <label id="a001">
          ??ㄦ??
    </label>
                <label id="a002">
          瀵????
    </label>
            </body>
        </html>
    </xml>Window系统,Eclips使用的默认编码
      

  4.   

    是中文系统,看了些文章写这个问题的,试了好多办法都不行,,接触java不到1星期我还没有把这个java编码的问题吃透,望大家帮忙解决下问题。谢谢了。
      

  5.   

    那你再改成下面的样子试试:BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\Documents and Settings\\Administrator\\桌面\\test\\test.html"), "utf8"));估计你那个文件本身的字符编码是 UTF-8 的(尽管文件内容里面说 encoding="gb2312"),你可以通过 Eclipse 的参数设置对话框确认一下。
      

  6.   

    解决,正如maquan说的 本身编码为utf-8。OK结帖~谢谢大大