使用CSVWriter将数据从DB写入CSV,在Excel中打开CSV文件中的垃圾值

时间:2017-06-11 14:33:00

标签: java excel csv encoding

我尝试了下面的程序将数据从数据库写入CSV文件。当我打开CSV文件时,它显示西班牙语特殊字符的垃圾值。

public class T {
    CSVWriter out = null;

    private void write(String[] values) throws IOException {
        out.writeNext(values);
    }

    public static void main(String[] args) throws IOException {

        File f  = new File("s.csv");

        FileOutputStream os = new FileOutputStream(f, false);
        os.write('\ufeff');

        CSVWriter out = new CSVWriter(
            new BufferedWriter(
                new OutputStreamWriter(
                    os, "UTF-8")));
    }
}

1 个答案:

答案 0 :(得分:0)

将编码从utf8更改为ISO-8859-1。但它的其他语言使用的通用代码也是如此。我不能硬编码ISO-8859-1。为什么excel会在我指定UTF8时显示垃圾值。