Struts做文件下载时,遇到如图情况
原因之一:中文文件名
<global-results> <result name="stream" type="stream"> <param name="inputName">inputStream</param> <!--<param name="contentType">application/vnd.ms-excel</param>--> <param name="contentDisposition">attachment;filename="${fileName}"</param> <param name="bufferSize">4068</param> </result> </global-results>
private String fileName;
private InputStream inputStream;
getter/setter方法,其中
//中文的得处理下,不然会出现以上问题
public String getFileName() {
try {
fileName = new String(fileName.getBytes("gb2312"), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return fileName;
}
-----20140415更新
若URIEncoding为UTF-8 可用
fileName =java.net.URLEncoder.encode("中文文件名","utf-8")+".xls";