DataInputStream in2=new DataInputStream(new ByteArrayInputStream(s2.getBytes("iso-8859-1")));
或者DataInputStream in2=new DataInputStream(new ByteArrayInputStream(s2.getBytes( "gb2312" ), "ISO8859-1"));

解决方案 »

  1.   

    String str=new String(sourceStr.getBytes("gbk"),"ISO8859-1");其中GBK表示你所存字符时的charset即字符集,"ISO8859-1"表示你现在用的字符集,即你的HTML页面所用的字符集
      

  2.   

    String(sourceStr.getBytes("ISO8859-1"),"gdk");
      

  3.   

    还是不行啊
    seven1996(小七) 、jxboy(风寂无声) 按你们说的改都不行啊
    以前的帖子我也找过
    上面说的都行不通啊
    出来汉字的还是????
    怎么办?
      

  4.   

    狂晕!!
    对了
    我记得好象机器的编码也能产生这个问题
    你在另外一台机子上试试另外你去找helpall和beyond_xiruo(又再次无奈的离开) 看看
    给他们留言
    他们都是NB
      

  5.   

    我不能在其他机器上运行的啊
    我的程序是要在2000 server上连接到数据库上运行的
    怎么办?
    怎么找他们两个啊?
      

  6.   

    不知道你为什么要getBytes,直接
        BufferedReader in = new BufferedReader(new FileReader("page1.htm"));
        String s, s2 = new String();
        while ((s = in.readLine()) != null)
          s2 += s + "\n";
        in.close();
        System.out.print(s2);
    就可以得到中文啦
      

  7.   

    收到留言. 讲讲我的看法.
    1. 读HTML与读TXT文件是没有区别的.
    2. 准备一个文本文件,让它包含中文,且称做a.txt.
    3. 在DOS窗口中,用"type a.txt",如果看不到中文的话,则是你的系统有问题了,与JAVA无关.
    4. 在你的第一段读完后打印出来S2是什么,如果有中文,告诉我下面你想干什么.一个中文由两个char组成,你这样把char一个一个打出来,肯定是显示不出中文的.
      

  8.   

    确实,打印中文不用char,下面是另一种方法
          BufferedReader in=new BufferedReader(new FileReader("page1.htm"));
          String s,s2=new String();
          char c;
          while((s=in.readLine())!=null)
            s2+=s+"\n";
          in.close();
            ByteArrayInputStream bais=new ByteArrayInputStream(s2.getBytes());//假如你一定要用这个类的话
            java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(bais,"GBK"));
            while((s=reader.readLine())!=null){
              System.out.println(s);
            }
      

  9.   

    谢谢两位高人
    这只是我的一个例程
    我要做的不是要把它打印出来
    我要做的是分析一个html文件
    里面有英文字符也有中文字符
    我是从C/C++转过来的
    C/C++中这样一个个char读写的话
    中文字符也是正常的,但是在java中就行不通
    不用char一个个分析的话
    请问还有什么好的办法?回helpall() ,我用type a.txt是可以正常显示中文的
    回beyond_xiruo(又再次无奈的离开) ,java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(bais,"GBK"));
    这个方法我试过,但是还是不行
    问题该怎样解决?
      

  10.   

    for(int i = 0; i < s2.length();i++) {
       System.out.print(s2.charAt(i)+"--");
     }
    这样就能得到一个一个"正确"的char.