编码utf8
代码中生成的utf-8文件没有加BOM(byte order marker 字节序列标示) 而微软的csv文件默认是有bom标示的,因此 Java代码生成的csv文件中的中文字被标示为??等. 所以解决的办法就是在文件的开头添加BOM标示就可以.
csvWriter.write(new String(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF }));
或者加在要写出的内容前如:
String[] headers = {new String(new byte[] { (byte) 0xEF,
(byte) 0xBB,(byte) 0xBF }),"姓名","年龄","编号","性别","sex"};