BIRT2.2.2中文化问题的解决方法

对于BIRT 2.1.0版本的中文化问题,请参考: http://www.eclipseworld.org/bbs/read-cec-tid-6069.html
 
=============================
以下是flyjimi补充的。针对BIRT 2.2.2。
=============================
 
1、界面中文化问题,不需要像上文写的修改java源码。对2.1.1已经提供了语言包。在 http://download.eclipse.org/birt/downloads/lang.php?build=R-R1-2_2_2-200802271210
现在2.2.2的还没有出语言包,两种途径:
(1)下载源码,找到其中的source/nl/org.eclipse.birt.report.viewer.nl/src/org/eclipse/birt/report/resource/Messages_zh_CN.msg。改名
(2)自己汉化。
在viewservlets.jar/org/eclipse/birt/report/resource目录,找到资源文件Message.properties,把里面的消息都改成中文的。
然后用jdk工具native2ascii 转成unicode。
native2ascii -encoding GBK 源文件名 目标文件名
目标文件名用Message.properties,然后替换原来的Message.properties文件即可。
如果要定制/frameset方式预览页面,也可直接修改webcontent/birt/pages/下的页面。
2、中文参数的问题。
(1)get方式。如果只处理通过url提交的参数。
修改 tomcat 的server.xml文件,在Connector元素中增加属性useBodyEncodingForURI="true"
并且,url中的中文参数必须事先转码.eg:
String param=java.net.URLEncoder.encode("中文参数","UTF-8");
<a href="../birt/frameset?__report=privilegerpt.rptdesign?m=<%=param%>">查看</a>
即ok.
(2)post方式。除了像上文修改ParameterAccesor.java,最好还修改viewservlets.jar/org/eclipse/birt/report/filter目录下的ViewerFilter.java。默认encoding=UTF-8,修改为GBK。
3、修改后的viewservlets.jar。
(1)修改了viewservlets.jar/org/eclipse/birt/report/resource/Message.properties为中文。
(2)修改了viewservlets.jar/org/eclipse/birt/report/utility/ParameterAccesor.java文件。
 /**
  * UTF-8 encode constants.
  */
 public static final String UTF_8_ENCODE = "GBK";//"UTF-8"; //$NON-NLS-1$
(3)修改了viewservlets.jar/org/eclipse/birt/report/filter/ViewerFilter.java文件。
public ViewerFilter()
    {
        //encoding = "UTF-8";
        encoding = "GBK";
        filterConfig = null;
    }
 
注意:
        修改viewservlits.jar只是解决了post提交的中文参数。若要同时解决get提交的url中的中文参数,还是需要修改 tomcat 的server.xml文件,在Connector元素中增加属性useBodyEncodingForURI="true"。但是,不要再进行UTF-8编码。
 
好像不能上传附件,有需要的可以给我留言。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值