DataInputStream in2=new DataInputStream(new ByteArrayInputStream(s2.getBytes("iso-8859-1")));
或者DataInputStream in2=new DataInputStream(new ByteArrayInputStream(s2.getBytes( "gb2312" ), "ISO8859-1"));
或者DataInputStream in2=new DataInputStream(new ByteArrayInputStream(s2.getBytes( "gb2312" ), "ISO8859-1"));
seven1996(小七) 、jxboy(风寂无声) 按你们说的改都不行啊
以前的帖子我也找过
上面说的都行不通啊
出来汉字的还是????
怎么办?
对了
我记得好象机器的编码也能产生这个问题
你在另外一台机子上试试另外你去找helpall和beyond_xiruo(又再次无奈的离开) 看看
给他们留言
他们都是NB
我的程序是要在2000 server上连接到数据库上运行的
怎么办?
怎么找他们两个啊?
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);
就可以得到中文啦
1. 读HTML与读TXT文件是没有区别的.
2. 准备一个文本文件,让它包含中文,且称做a.txt.
3. 在DOS窗口中,用"type a.txt",如果看不到中文的话,则是你的系统有问题了,与JAVA无关.
4. 在你的第一段读完后打印出来S2是什么,如果有中文,告诉我下面你想干什么.一个中文由两个char组成,你这样把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);
}
这只是我的一个例程
我要做的不是要把它打印出来
我要做的是分析一个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"));
这个方法我试过,但是还是不行
问题该怎样解决?
System.out.print(s2.charAt(i)+"--");
}
这样就能得到一个一个"正确"的char.