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

Original: https://www.cnblogs.com/sixiweb/p/14283467.html
Author: 四喜
Title: 解决java以UTF-8输出中文时,excel打开乱码但是记事本打开却正常的问题。

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/539266/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球