jsp导出excel中文乱码,鄙视不验证就转发的
来源:互联网 发布:软件设计师考试难吗 编辑:程序博客网 时间:2024/05/29 16:23
jsp导出excel文件,导出时firefox乱码或360乱码,反正不正常,
原本代码如下:
response.setHeader("Content-Disposition", "attachment;filename="
+ new String(("财务报表-采购明细统计.xls").getBytes(), "ISO-8859-1"));
这时firefox是好的,我也没测IE、360啥的
第一次提交就是这样,我相信大家也都是这个样子的,
会计说她IE打开时乱码,我就搜了一下,网上大部分提供了一个方法:
public static String toUtf8String(String s){
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++){
char c = s.charAt(i);
if (c >= 0 && c <= 255){sb.append(c);}
else{
byte[] b;
try { b = Character.toString(c).getBytes("utf-8");}
catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).toUpperCase());
}
}
}
return sb.toString();
}
jsp里面代码如下:
response.setHeader("Content-Disposition", "attachment;filename="
+ fb.toUtf8String("财务报表_支付宝汇总.xls"));
可是并没有解决问题,但是大部分网页搜出来的都是这样的,
这时才发现是浏览器的问题
解决方案代码如下:
<%@page import="java.net.URLEncoder"%>
String outfilename = "财务报表.xls";
if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0)
outfilename = new String(outfilename.getBytes("UTF-8"), "ISO8859-1");//firefox
else if (request.getHeader("User-Agent").toUpperCase().indexOf("IE") > 0)
outfilename = URLEncoder.encode(outfilename, "UTF-8");//IE浏览器
response.setHeader("Content-Disposition", "attachment;filename="+outfilename);
这才是王道
- jsp导出excel中文乱码,鄙视不验证就转发的
- JSP导出excel时中文乱码的问题
- jsp导出excel 解决文件名中文乱码
- jsp导出excel 解决文件名中文乱码
- JSP导出Excel 中文文件名乱码
- 【Excel】java 导出Excel 中文文件名乱码不显示问题
- JSP页面中导出Excel文件及其中文乱码的解决办法
- JSP应用导出Excel报表的简单实现以及中文乱码彻底解决(HTML)
- JSP应用导出Excel报表的简单实现以及中文乱码彻底解决(HTML)
- JAVA中JSP应用导出Excel报表的简单实现以及中文乱码彻底解决(HTML)
- 导出excel含有中文名,中文不显示或乱码
- jsp将table导出成excel+用js将table导出excel,中文乱码问题解决方案+action层导出excel
- 导出excel中文文件名乱码
- DataGrid 导出 Excel 中文乱码
- Toad中文导出到Excel的乱码解决办法
- PHP Excel类Spreadsheet_Excel_Writer 导出UTF8中文乱码的解决方法。
- Gridview导出为Excel的时候,中文文件名乱码,解决方法
- js把数据导出成excel的中文乱码问题解决
- Ant作用总结
- 程序员都应该知道的福利
- 可重入代码
- STM32学习笔记--推挽输出与开漏输出的区别(1/2/3)
- 流水账
- jsp导出excel中文乱码,鄙视不验证就转发的
- ASP.NET简单问题收集
- Hibernate面试题
- socket和IOCTL结合实现网络采集
- Thinkpad 海外直购
- linux下批量修改文件名
- 变量命名规则------匈牙利命名规则
- NSInvocation简单使用
- qt对话框不在任务栏显示