关于Birt导出文档的文件名问题(转)

原地址:[url]http://www.birthome.cn/read.php?tid-1645.html[/url]

在BIRT目前的版本中,在viewer中到处文档或数据仅支持英文名。默认情况下,如果报表文档的文件名全部是英文字符,则导出的文档文件名跟报表设计文档的文件名相同,否则导出的文件名为BIRTReport。那么怎么才能导出中文名呢?
首先,需要在tomcat的server.xml配置文件中设置URIEncoding=“utf-8”,这样查看报表的链接才能正常的访问到该报表文档,否则会出错。
其次,下载org.eclipse.birt.report.viewer的源码(注意与使用的birt版本相匹配),找到DefaultFilenameGenerator.java中的makeFileName方法,找到以下代码
// char is from 0-127
if (c < 0x00 || c >= 0x80){ 。。。}
把省略的部分换成如下代码
try
{
baseName = new String(baseName.getBytes( Charset.defaultCharset( ) ),"iso-8859-1");
}
catch ( UnsupportedEncodingException e )
{
baseName = DEFAULT_FILENAME;
}
break;
编译后替换WEB-INF/lib/viewerservlet.jar中相应的类
最后,把想用中文名的报表设计文档重命名,同时改动相应的链接,这样在viewer中就能顺利导出中文文件了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值