java 写csv文件,以UTF-8编码输出的时候,文本文件或者notepad++ 打开的时候是正常显示的,但是使用excel打开的时候中文却是乱码。
原因是excel是以ANSI方式打开csv的。
在写文件时先写BOM即可:
//添加文件头,否则excel打开会乱码 try( FileOutputStream fos = new FileOutputStream(rstFilePath)) { //追加BOM标识 fos.write(0xef); fos.write(0xbb); fos.write(0xbf); } catch (Exception e){ log.error("Write file head error: ",e); return; }