• 技术文章 >Java >Java基础

    java怎么解决导出csv文件乱码

    尚2019-12-28 16:29:51原创1126

    将查询的数据以xls文件导出时(UTF-8编码),数据正常;但以CSV文件导出时,文件中的中文乱码,同样是UTF-8编码,改成GBK编码导出时,中文显示正常。(推荐:java视频教程

    解决方法:

    以CSV方式导出的文件中默认不含BOM信息,通过给将要输出的内容设置BOM标识(以 EF BB BF 开头的字节流)即可解决该问题。具体方法如下:

    ...
    OutputStreamWriter outputStreamWriter = new OutputStreamWriter(response.getOutputStream(), "UTF-8");  
    // 要输出的内容  
    result = (String)contentMap.get(RESPONSE_RESULT);  
    response.setHeader("Content-Disposition", "attachment;filename=test.csv");  
    outputStreamWriter.write(new String(new byte[]{(byte) 0xEF, (byte) 0xBB, (byte) 0xBF}));  
    outputStreamWriter.write(result);  
    outputStreamWriter.flush();

    如果是以OutputStream流实现的 ,参数可以按如下修改:

    out = response.getOutputStream();     
    //加上UTF-8文件的标识字符      
    out.write(new byte []{(byte) 0xEF, (byte) 0xBB, (byte) 0xBF});

    更多java知识请关注java基础教程栏目。

    以上就是java怎么解决导出csv文件乱码的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:java 乱码
    上一篇:java对象如何判断是否为空 下一篇:java什么是成员变量
    线上培训班

    相关文章推荐

    • java方法的作用是什么• 怎么编译java为class文件• java反射常见面试题• java怎样生成随机数

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网