用这段代码下载文件,文件名为中文,用IE文件名就不会乱码,但是火狐就是乱码,什么解决。。response.setContentType("application/msexcel");
response.setHeader("Content-Disposition","attachment; filename=" + new String("电子表格.xls".getBytes("gb2312"),"iso8859-1"));   
HSSFWorkbook wb = getWorkBook();
OutputStream os = response.getOutputStream();
wb.write(os);
os.flush();
os.close();

解决方案 »

  1.   

    Response().setContentType("text/html;charset=UTF-8");
      

  2.   

    乱码终极解决方案:
    中间碰到中文乱码,应该说所有的情况都碰到了吧,解决也是曲折的,经过摸索,总结如下:  1、所有页面都用UTF-8。  
    2、写过滤器,设置request.setCharacterEncoding("UTF-8")。  
    3、javascript脚本里用encodeURI(str)。  
    4、适当的时候,在jsp里用java.net.URLDecoder.decode(request.getParameter("str"),"UTF-8")。  
    5、最容易忽略的是使用"":value=" <%=paraFiles%>",一定要有引号。  例子源码:http://download.csdn.net/source/965319  
     
      

  3.   

    new String("电子表格.xls".getBytes("ISO-8859-1"),"UTF-8")); 
      

  4.   


    都已经结贴了大哥,这样还是不行,在linux下用IE照样会出问题,结果在网上搜到这个就行了。。
    //火狐
    if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) {
    fileNameTemp = new String(fileNameTemp.getBytes("UTF-8"), "ISO8859-1");
    }
    //IE
    else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){
    fileNameTemp = URLEncoder.encode(fileNameTemp, "UTF-8");
    }