我在使用开源的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 也输出成功了:
请各位朋友帮忙 提些宝贵建议!搞不懂啊!
我想出的文件名称是这样的:例: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 也输出成功了:
请各位朋友帮忙 提些宝贵建议!搞不懂啊!
解决方案 »
- ajax查询为什么会报这样的错?急啊。。。求救啊。。
- hibernate4 在用annotation映射是老是出错,为什么呀
- showModalDialog分页给父页面传值问题
- hibernate能用get返回一个对象,但用load就是null,为什么呢?
- 关于UDP接受图片文件问题,帮个忙 谢谢。
- EL表达式判断字符串相等的问题
- 在eclipse里怎样进行级联删除操作?
- 酒店管理系统开发中遇到的非正常情况都有那些
- 广州京华网络公司怎么样?
- jbuilder8中无法保存jsp文件
- 查询后分页
- java.sql.SQLException: Operation not allowed after ResultSet closed
String UserID = request.getParameter("UserID");
UserID = new String(UserID.getBytes("ISO-8859-1"),"utf-8");
这是我经常解决乱码的一个方法,楼主可以去试试!~
不过还有一个方法就是如果你项目发布在tomcat服务器下,可以去配置一下,也可以解决乱码问题的,这个配置你就去baidu,google上去搜索一下就出来了...
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 也输出成功了:两个配置不是一样的么? 一个成功 一个不成功?
这个有什么意义?String filename = new String(UserID.getBytes(“编码A”,“编码B”),它是以编码A方式去取数据,娶过来之后把他变成编码B。这样坐的话,当然前提是要传过来的数据的编码是编码B且读取编码是编码A才有意义