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 也输出成功了:
请各位朋友帮忙 提些宝贵建议!搞不懂啊!
...全文
196 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zl3450341 2009-10-14
  • 打赏
  • 举报
回复
代码语句是这样的 
String filename = new String(UserID.getBytes("GBK"),"gb2312");
但是System.out.println(filename );这样输出的还是:??°?·?


String UserID =“李强”; 
String filename = new String(UserID.getBytes("GBK"),"gb2312");

System.out.println(filename );
这样出来的效果是可以的 ;
而且 想输出的 test_李强.xls 也输出成功了:


两个配置不是一样的么? 一个成功 一个不成功?

swandragon 2009-10-14
  • 打赏
  • 举报
回复
String filename = new String(UserID.getBytes("iso8859-1"),"gb2312");

System.out.println(filename );
wubin_2003 2009-10-14
  • 打赏
  • 举报
回复
String filename = new String(UserID.getBytes("GBK"),"gb2312");
这个有什么意义?

String filename = new String(UserID.getBytes(“编码A”,“编码B”),它是以编码A方式去取数据,娶过来之后把他变成编码B。这样坐的话,当然前提是要传过来的数据的编码是编码B且读取编码是编码A才有意义
pmlxp 2009-10-13
  • 打赏
  • 举报
回复
关注
guodong66 2009-10-13
  • 打赏
  • 举报
回复
你在后台往jsp传参数的时候也设置下参数的编码格式,试试。采用同样编码格式。
v05120s 2009-10-13
  • 打赏
  • 举报
回复
页面传参数用encodeURI(UserID)传参数,后台处理如下:
String UserID = request.getParameter("UserID");
UserID = new String(UserID.getBytes("ISO-8859-1"),"utf-8");
这是我经常解决乱码的一个方法,楼主可以去试试!~
不过还有一个方法就是如果你项目发布在tomcat服务器下,可以去配置一下,也可以解决乱码问题的,这个配置你就去baidu,google上去搜索一下就出来了...
lzh_me 2009-10-12
  • 打赏
  • 举报
回复
奇怪的问题,关注一下....
乱码的确让人头痛啊.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧