用supercsv写UTF-8 BOM

all*_*laf 5 java csv byte-order-mark utf-8 supercsv

我正在使用supercscv来编写一个utf-8编码的csv.它产生一个普通的文件,但是excel不会将它识别为utf-8,因为它没有bom标记,因此擅长丢失,因此当使用excel打开时,任何特殊字符都会被破坏.

有没有办法将文件写为UTF-8与BOM与supercsv?我找不到它.

谢谢

Joo*_*gen 8

因为supercsv可能包装了一个Writer:

Writer writer = new OutputStreamWriter(out, StandardCharsets.UTF_8);
writer.write('\uFEFF'); // BOM for UTF-*
... new BeanWriter(writer, CsvPreference.STANDARD_PREFERENCE);
Run Code Online (Sandbox Code Playgroud)