我用java读取RTF文档,读出来的汉字都是乱码
File fileIn = jfChooser.getSelectedFile();
if (fileIn.exists()) {
try {
InputStreamReader is=new InputStreamReader(new FileInputStream(fileIn));
System.out.println(is.getEncoding());
BufferedReader in =new BufferedReader(is);
RTFEditorKit m_kit=(RTFEditorKit)(f.getTextPanel().getEditorKit());
DefaultStyledDocument m_doc=(DefaultStyledDocument)f.getTextPanel().getStyledDocument();
m_kit.read(in, m_doc, 0);
//String re = new String(m_doc.getText(0,m_doc.getLength()).getBytes("ISO8859_1"));
f.getTextPanel().setDocument(m_doc);
in.close();
} catch (Exception ex) {
System.out.println(ex.toString());
}
我看别人的这段代码可以读出汉字,String re = new String(m_doc.getText(0,m_doc.getLength()).getBytes("ISO8859_1"));
这是为什么啊,那位大侠给个解决办法
------解决方案--------------------------------------------------------
不管是jsp还是文件,出现乱码的唯一原因就是:字符集编码不统一。
解决问题有两个:
1.统一字符集
2.对源汉字进行字符集转码