一、文件导出时,设置文件名为中文时,中文名不显示,只显示后缀名,如:“表格.xls”,下载后只有xls
response.setHeader("Content-Disposition , attachment;filename=" + fileName);
解决办法:对中文文件名字符串重新编码
String userAgent = request.getHeader("User-Agent");
byte[] bytes = userAgent.contains("MSIE") ? fileName.getBytes(): fileName.getBytes("UTF-8"); //处理safari的乱码问题
fileName = new String(bytes, "ISO-8859-1"); // 各浏览器基本都支持ISO编码
二、url中包含一些特殊字符时出现Character decoding failed. Parameter [] with value []解决方法
最近写项目时,搜索功能直接使用了url来传递搜索框内容,发现当内容含有一些特殊字符时
后台控制台会出现Character decoding failed. Parameter [xxx] with value [xxxx],
这个问题还是蛮好解决的,在前台将要放在url中传的值用js自带方法encodeURIComponent(值) 就ok了
三、response.reset()的作用
jsp编译后页面代码出现空白行,就是由于未清空请求头中的空白行。下载后的文件内的空白行也是这样产生的。
因此,需要 response.reset() 来清除首部的空白行。