我正在尝试让用户下载带有日文名称的 excel 文件。似乎它只适用于 IE 8,而其他 IE 和 firefox 则不起作用。请建议我如何处理这个。
String fileName = dateString+"_マイページ情報.xls";
byte[] data = writer.getData();
response.setContentType("application/ms-excel");
response.setContentLength(data.length);
response.setHeader("Expires:", "0"); // eliminates browser caching
response.setHeader("Content-Disposition","attachment; filename="+URLEncoder.encode(fileName));
最佳答案
我解决了如下。
fileName = dateString+"_マイページ情報.xls";
fileName = URLEncoder.encode(fileName,"UTF-8");
try {
response.setContentType("application/ms-excel; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
if(browserType.equals("IE")||browserType.equals("Chrome"))
response.setHeader("Content-Disposition","attachment; filename="+fileName);
if(browserType.endsWith("Firefox"))
response.setHeader("Content-Disposition","attachment; filename*=UTF-8''"+fileName);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
关于java - 下载文件中的 UTF-8 编码名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18050718/