POI、easyExcel等下载excel文件,内容出现乱码的另类解决思路

最近项目中需要一个导出excel的 功能,但是呢,开发完成之后,可以下载,却出现下载下来的文件内容一直出现乱码的情况,是那种“锟斤铐”这样的乱码 文件。

经过我严密的分析,以及查询各种资料,乱码的原因首先由于字符集转码的问题造成,这个乱码的 原因是因为GBK转UTF-8,再次 转成GBK,造成的字符集解析失败,造成的乱码。

那是什么原因造成的呢?

我们可以在输出流中(OutputStream),进行格式的设置,可以在响应头中,进行(reponse.setHead()), 其中可以设置响应生成文件的文件名称字符集。

在字符集的选择中,我们最好选择与项目字符集一致的字符集,保证转换的时候,能够正确输出内容,其中在 响应头输出的文件名称的时候,一般都用GBK输出,如果有乱码情况,可以将字符集设置成GBK进行设置

最后,在经过两天的艰难测试和分析, 竟然发现是我们系统中的有一个过滤器,是系统中的过滤器,将文件格式进行强行更改, 造成的输出流内容,在打印到文件中,出现文件的乱码问题

如果出现类似问题,我们可以先将webapp-->WEB-INF中的web.xml中的过滤器,进行关闭,测试程序运行状态,如果没有问题的话,需要将过滤器重新打开,在相应的文件上文件过滤器的免过滤注解,以保证功能的正常实现。

以此来纪念,经过接近三天,72小时不断查找,才得到的结果,也给后来人一个风向标!

继续加油!!!

猜你喜欢

转载自blog.csdn.net/weixin_42121675/article/details/86567483
今日推荐