对EUC-JP编码的日文文件读取,但读出来还是有某些字符会乱码,这是怎么回事?
文本内容(复制自一个EUC-JP编码的网页,共两行):
かてきょ~らいふ 
★描き下ろしテレカ ★
部分代码:
FileInputStream fis=new FileInputStream("C:\\1.txt");
fis.read(buff2);
byte[] buff2=new byte[fis.available()];
String aaa=new String(buff2,"EUC-JP");
System.out.println(aaa);~和★都被替代成其他字符了,试过用InputStreamReader(fis,"EUC-JP")读取,但依然是有乱码。

解决方案 »

  1.   

    你先看一下这个文件本身是什么编码的,如果是 EUC-JP 的话那是没问题的,
    如果用的是 UTF-8 那肯定就不对了。
      

  2.   

    InputStreamReader in=new InputStreamReader(new FileInputStream("C:\\1.txt"),"EUC-JP");
    BufferedReader br=new BufferedReader(in);
      

  3.   


    lz,你这个代码有问题啊
    fis.read(buff2);
    中buff2哪来的?上一段测试过的代码,你看一下,我是日文xpimport java.io.FileInputStream;
    import java.io.FileNotFoundException;public class Test4 {
    public static void main(String args[]){
    FileInputStream fis;
    try {
    fis = new FileInputStream("C:\\1.txt");
    byte[] buff = new byte[50];
    fis.read(buff);

    String aaa=new String(buff);
    System.out.println(aaa); } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } }}
    打印结果
    かてきょ~らいふ  
    ★描き下ろしテレカ ★ 
      

  4.   

    to 3L:
    其实我原本是写一个提取某日文网站网页内容的程序,测试文件试过直接用保存的网页,该网页打开后浏览器显示是EUC-JP编码,并且在浏览器内无乱码现象。
    文本内容我是为了方便测试弄上去的,然后听你一说我试试再次换回html上面,突然就OK了。所以分数是你的了to 5L:
    你这个如果是读哪个txt的话结果和我一样。to 7L:
    buff2那个是我删除无关代码时不小心弄错了,不好意思。
    另外,你这个没指定编码只在日文xp有用,虽然我也有日文xp,但因各种原因我不能在日文xp下用。谢谢各位。
      

  5.   

    另外,那网页以前我用的时候明明在同样的地方乱码了
    不知道和我换了NETBEANS 6.7.1有没有关系。
      

  6.   

    我怎么看不到3楼的回复,发我一份吧,谢谢。[email protected]