J2EE中文乱码以及多余空格符解决方案一例

昨天,我所做的项目中,涉及到把数据库的数据导出到Excel文件中的操作,并提供一个下载-保存的文件保存对话框给用户,默认的文件名从数据库中取得。开发环境为Eclipse3.2+MyEclipse5.0+oracl9i+tomcat5.5,使用Struts+Hibernate框架开发。文件名在数据库中显示一切正常,但在文件保存对话框中变成了乱码,经过了和同事以及项目负责人的研究和讨论后,终于解决了这个问题,解决方法:

先将文件名称的字符编码转换为UTF-8,在进行相关操作。

部分代码如下 

import java.net.URLEncoder;

...

OfficeFunction of = new OfficeFunction();//操作Office文件的类,类中定义了包括导出Excel文件等方法
strFileName= URLEncoder.encode(strFileName.trim(),"UTF-8");//将文件名称的字符编码转换为UTF-8;
of.InitOutputStream(strFileName,response);//和response关联;
of.expordExcel(of.getOutPutStream(), strTitle, strHeadLine, strContent);//导出Excel文件,弹出保存对话框;

...

这时,中文名称能正确显示,但取出的名称后面却多了N个“+++++++”;将数据用字符串的trim()方法对文件名进行去前后空白操作,再将文件名称打印到控制端,仍显示的文件名称后面是一串的空格符,不知为什么会这样,最后,用Sring的replace方法

strFileName = strFileName.replace(" ","");

后终于可以解决了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值