解决java以UTF-8输出中文时,excel打开乱码但是记事本打开却正常的问题。

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;
        }

 

posted on 2021-01-15 18:03  sixiiweb  阅读(736)  评论(0编辑  收藏  举报

导航