Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java þÿ;将附加到excel文件的开头导致回归_Java_Excel_Csv_Encoding_Utf 16 - Fatal编程技术网

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

Java þÿ;将附加到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

我正在从数据库中读取中文和西班牙文数据,并将其写入CSV文件。我正在使用UTF-16。当我在Excel中打开CSV文件时,ÿ被预先设置好了。如何避免将þÿ写入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);
    }

这两个字符是字节顺序标记(用于big-endian),可用于UTF-16编码


要写入而不在字节顺序标记前加前缀,请使用UTF-16BE标识的java.nio.Charset,而不仅仅是UTF-16。

请回答问题,添加写入CSV的代码,我想知道从UTF-16文件中删除字节顺序标记是否明智…@Tom如果您希望文件能够跨系统移植,这将不是一个好主意。但是我想知道为什么人们首先要写UTF-16。你能试着在你的CSV文件中使用制表符作为分隔符吗?