java下载excel文件在firefox中文件名为乱码

转载自:http://blog.sina.com.cn/s/blog_554d2e6101011bun.html

现象:使用jboss开发的下载excel文件功能,使用中文文件名,在IE里面正常,firefox里面文件名乱码

解决:

   String agent = request.getHeader("USER-AGENT")).toLowerCase();

    //根据浏览器类型处理文件名称
    if(agent.indexOf("msie")>-1){
      //extfilename = Tools.toUtf8String(extfilename);
      extfilename = java.net.URLEncoder.encode(extfilename, "UTF-8");
    }
    else{  //firefox/safari不转码
      extfilename = new String(extfilename.getBytes("UTF-8"), "ISO8859-1");
    }

   

    response.setContentType("application/msexcel");
    response.setHeader("Content-disposition","attachment;filename=\""+extfilename+"\"");

 

结果:在IE8,firefox10.0.2,safari5.1.2下测试通过

猜你喜欢

转载自blog.csdn.net/lishk314/article/details/52766725