Java þÿ;将附加到excel文件的开头导致回归
我正在从数据库中读取中文和西班牙文数据,并将其写入CSV文件。我正在使用UTF-16。当我在Excel中打开CSV文件时,ÿ被预先设置好了。如何避免将þÿ写入CSVJava þÿ;将附加到excel文件的开头导致回归,java,excel,csv,encoding,utf-16,Java,Excel,Csv,Encoding,Utf 16,我正在从数据库中读取中文和西班牙文数据,并将其写入CSV文件。我正在使用UTF-16。当我在Excel中打开CSV文件时,ÿ被预先设置好了。如何避免将þÿ写入CSV FileOutputStream os = new FileOutputStream("s.csv", false) CSVWriter out = new CSVWriter( new BufferedWriter( new OutputStreamWriter(os
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);
}
这两个字符是字节顺序标记(用于big-endian),可用于UTF-16编码
要写入而不在字节顺序标记前加前缀,请使用UTF-16BE标识的java.nio.Charset,而不仅仅是UTF-16。请回答问题,添加写入CSV的代码,我想知道从UTF-16文件中删除字节顺序标记是否明智…@Tom如果您希望文件能够跨系统移植,这将不是一个好主意。但是我想知道为什么人们首先要写UTF-16。你能试着在你的CSV文件中使用制表符作为分隔符吗?