我导入txt文件到数据库,当将txt数据导入到list里面后,发现list里面的数组中的中文为乱码?希望各位不吝赐教

解决方案 »

  1.   

    读文件的时候类似下面这样,InputStreamReader isr = new InputStreamReader(new FileInputStream("文件名") , "GBK");GBK不行试试UTF-8等其他编码。
      

  2.   

    你好,我是用的BufferedReader,请问我能不能在取得一个数组后,将数组的编码格式转换成GB2312
      

  3.   


    你好,你能贴代码吗?
    BufferedReader的话BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("文件名") , "GBK"));还有数组如果是byte[],还行,如果是char[]乱码就已经乱了
      

  4.   

    首先在 读文件 类里面
    BufferedReader br = new BufferedReader(fileReader) ; //读文件
    String[] str ;
    String s;
    try {
    while ((s = br.readLine()) != null) {
    str = s.split("\\|");
    list.add(str);
    }
    } catch (IOException e) {
    // TODO: handle exception
    e.printStackTrace();
    }
    } catch (FileNotFoundException e) {
    // TODO: handle exception
    e.printStackTrace();
    }
    //System.out.println("文件内容是:" + "\r\n" + readStr);
    return list;
    然后在manager里面调用上面方法
    ArrayList list = txt.readTxt(path + filenames[i]);
    开始循环
    swdjdd = (String[]) list.get(j);
    然后这时候,这个字符串数组里面的中文就为乱码了
    请问可不可以在这里修改swdjdd的编码格式?
      

  5.   


    swdjdd这时候不太好改了把。。你的fileReader是哪里来得? 是FileReader类吧??
    改成InputStreamReader类。InputStreamReader fileReader = new InputStreamReader(new FileInputStream("文件名") , "GBK");
    然后
    BufferedReader br = new BufferedReader(fileReader);谢谢。
    如果还乱码,请修改GBK->UTF-8.。。再试试看。
      

  6.   

    嗯,改成UTF-8就好了,因为我myeclipse里面默认的java文件的编码格式是utf-8,谢谢了