问题:用jspSmartUpload实现下载功能时,上传成功后,实现下载时,发现下载文件为中文名称时,下载不能成功。后来发现原因是从数据库获得数据传到下载页的jsp时,中文乱码了,现在提供一种解决办法。
在jsp中用如下方法获得参数:
<%
request.setCharacterEncoding("GB2312");
String issABPath = new String(request.getParameter("issABPath").getBytes("ISO-8859-1"), "GB2312");
%>
在jsp的结尾加上以下两行代码:
<%
out.clear();
out = pageContext.pushBody();
%>
jsp中使用了输出流(如输出图片验证码,文件下载等),所以在jsp代码的结尾加上out.clear()用于清除当前的所有内容。
然后执行 out = pageContext.pushBody() 用于输出内容,若果没有内容则返回空白页!