ServletOutputStream下载文件名中文乱码或不显示

废话不多说,直接上代码。。。

下载文件名中文乱码或不显示情况

在这里插入图片描述
下载文件名是一道下滑线
ServletOutputStream下载文件名中文乱码或不显示_第1张图片

改造代码

pdfName是下载文件的名字,带后缀。

String s = URLEncoder.encode(pdfName, "utf-8").replaceAll("\\+", "%20");
StringBuffer builder = new StringBuffer();
builder.append("attachment; filename=").append(s);
response.addHeader("content-disposition", builder.toString());
response.setContentType("application/pdf;charset=utf-8");
ServletOutputStream out = response.getOutputStream();

下载文件名显示正常
ServletOutputStream下载文件名中文乱码或不显示_第2张图片

搞定。。。

你可能感兴趣的:(java,servlet,开发语言)