在做文件下载中,发现只要文件中含有中文,就会乱码,即使设置了以下内容,也会出现此情况,
response.setContentType("application/octet-stream; charset=utf-8");
解决此问题的方法是设置响应头,将文件名字符串按ISO8859-1进行编码,代码如下:
response.setHeader("Content-Disposition", "attachment; filename=" + new String(fileName.getBytes("UTF-8"),"ISO8859-1"));