在我的应用程序中,用户可以下载excel报告。当用户使用FF下载xls时,编码很好,变音显示正确。如果用户在IE和Chrome中也这样做,那么xls中的元音变音符就会被破坏。
Excel报告是在servlet中使用Apache POI v3.10.1生成的,并且每次都填充相同的数据。但是在FF和IE(或Chrome)中下载的xls文件是不同的。
知道为什么吗?
顺便说一句,我试图在响应标头中设置编码
response.setHeader("Content-Type", "application/vnd.ms-excel; charset=UTF-8");
但没有成功。
UPD 03.04.servlet中的一段代码:
OutputStream out = response.getOutputStream();
...
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename="" + fileName + ".xls" + """);
...
workbook.write(out);
IE无法理解您的response.setHeader("Content-Type", "application/vnd.ms-excel; charset=UTF-8");
。请尝试response.setContentType("application/vnd.ms-excel");
。它适用于我的IE8和FF35。