JSP出EXCEl报表中文名称乱码
东北小硬人 2009-10-12 10:27:45 我在使用开源的JXL 出EXCEL报表时遇到这样的问题。
我想出的文件名称是这样的:例:test_李强.xls
代码是 ....test_+"UserID"+".xls";
但是控制台我看到的输出名称效果是:test_µ¥°¶·ï .xls
不知道为啥?
UserID 是这样取到的
String UserID = request.getParameter("UserID");
然后我用 System.out.println(UserID);
控制台输出的是这样的:??°?·?
目前我不清楚UserID传过来之前的编码格式 会不会就是因为 传来过得格式对我这边有影响
所以我下面用到的 编码转换的语句不起作用?
代码语句是这样的
String filename = new String(UserID.getBytes("GBK"),"gb2312");
但是System.out.println(filename );这样输出的还是:??°?·?
这里有个问题,UserID.getBytes("GBK"), 这个GBK是代表的什么含义? 后面的gb2312是我要变换的格式吗?
我是从htm 通过javaScript 跳转到 这个jsp 文件中 完成报表输出
htm 的 charset="gb2312"
在myecplise 下项目的编码格式 默认为 GBK ,操作系统为 windows xp 中文版
另外我在网页中也试了一下
String UserID =“李强”;
String filename = new String(UserID.getBytes("GBK"),"gb2312");
System.out.println(filename );
这样出来的效果是可以的 ;
而且 想输出的 test_李强.xls 也输出成功了:
请各位朋友帮忙 提些宝贵建议!搞不懂啊!