站内搜索

返回   安讯中国 > 安讯产品 > 百灵报表(BIRT)
注册
忘记密码?
论坛帮助 日历事件 搜索 今日新帖 标记版面已读

回复
 
LinkBack 主题工具 搜索本主题 显示模式
  #1 (permalink)  
旧 2008-11-18, 08:34 AM
Junior Member
 
注册日期: 2008-8-9
帖子: 12
存款: 162
默认 BIRT script如何解码utf-8

我使用的是BIRT2.3 在使用POST方式向报表传递参数的时候,在BIRT的SCRIPT中调用var alertInfo= reportContext.getParameterValue("alertInfo")
得到的中文字符是每一个子三个???,如何解决?急等
回复时引用此帖
  #2 (permalink)  
旧 2008-11-18, 10:18 AM
Senior Member
 
注册日期: 2008-6-4
住址: 上海
帖子: 201
存款: 734
发送 MSN 消息给 leo821031
默认

try {
condition=new String(condition.getBytes("ISO-8859-1"),"UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
qry+=" where "+condition;
if(!whereClause.equals(""))
{
qry+=" and "+whereClause;
}
__________________
搞技术是非常耗精力的...需要耐心,细心,再仔细,MSN:zhoujianguo_leo@hotmail.com,需要交流的一起交流
回复时引用此帖
  #3 (permalink)  
旧 2008-11-18, 01:41 PM
Junior Member
 
注册日期: 2008-8-9
帖子: 12
存款: 162
默认

问题解决了

我写点感想 BIRT2.3对于中文的支持还是不错的,采用的是UTF-8编码
如果你自己的项目中出现传递的中文参数出现乱码的情况,那一定是JSP、TOMCAT、SERVlET中的字符编码出现问题。
首先保证JSP采用UTF-8编码 <%@ page contentType="text/html; charset=UTF-8" %>
然后保证TOMCAT编码 <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="8080" redirectPort="8443" URIEncoding="UTF-8" />
最后保证你的SERVLET(可以在Filter中)中REQUEST的编码 request.setCharacterEncoding("UTF-8");

保证上述三点

一定不会出现中文乱码
回复时引用此帖
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

论坛启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用


服务条款 | 隐私政策
安讯中国 上海浦东新区浦东南路1271号华融大厦21层2101室
电话:(+86)21-58826388   发送邮件联系我们  沪ICP备06010344号
Actuate Corporation © 2008
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios

Content Relevant URLs by vBSEO 3.1.0