þÿ附加到excel文件的开头导致回归

问题描述 投票:-1回答:1

我正在从数据库中读取中文和西班牙文数据并写入CSV文件。我使用的是UTF-16。当我在Excel中打开CSV文件时þÿ正在获得前置。如何避免将writing写入CSV?

FileOutputStream os =   new FileOutputStream("s.csv", false)
 CSVWriter out = new CSVWriter(
     new BufferedWriter(
                        new OutputStreamWriter(os, "UTF-16"
                                )));
private void write(String[] values) throws IOException {    
        out.writeNext(values);
    }
java excel csv encoding utf-16
1个回答
1
投票

这两个字符是字节顺序标记(对于大端),可以与UTF-16编码一起使用。

要在不添加字节顺序标记的情况下进行写入,请使用UTF-16BE标识的java.nio.Charset,而不仅仅是UTF-16。

© www.soinside.com 2019 - 2024. All rights reserved.