excel打开java生成的文件中文乱码
java生成的csv文件数据,下载到本地后,使用excel打开,发现乱码:
看了一下,csv文件是UTF-8格式的文件,excel默认不将这个文件当成UTF-8格式解析导致的。文件的本来的编码格式如下:
将编码添加BOM(Byte-orderMark)之后,excel就识别了。
添加BOM的方法和工具很多,例如notepad++中encoding菜单中转换一下,或者最简单的使用系统的notepad打开再存一次。这么做之后,文件大小会增加3个字节。新增的就是文件最前头的BOM字节了。UTF-8的BOM是:EF BB BF
BOM是windows系统引入的一个概念,很多Unix系统都不支持啊。