乱码问题基本都是由于编码问题导致的
下载时设置文件名称
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
原来名称为:
// 合同名称.pdf
String fileName = contract.getItemContractName();
fileName = fileName+ ".pdf";
下载效果:
debug看后端获取的名称:
传入的名称是正确的,后端没问题,那么可能就是浏览器响应问题,F12查看响应:
发现响应的时候,就出现乱码了。
解决:设置文件名称的编码格式,然后在传入response的Header当中
String contractName = contract.getItemContractName();
contractName = contractName + ".pdf";
String fileName = new String(contractName.getBytes("UTF-8"), "ISO-8859-1");
效果: