Ask and Learn

润乾报表中文参数乱码

由于在润乾报表中用到了超链接链到另一张报表,链接中有传递中文参数。

在设计器的IE预览中,参数传递均正常,但是布署到服务器后,中文变成了乱码,更改 reportConfig.xml 中的字符集,亦无济于事,客户等着要东西,只能更改showReport.jsp ,强制转换编码格式(我这里使用的是GBK)。

/*/
String paramName  = (String) paramNames.nextElement();
String paramValue = request.getParameter(paramName);
/*/
String paramName  = new String(((String) paramNames.nextElement()).getBytes("iso-8859-1"), "GBK");
String paramValue = new String(request.getParameter(paramName).getBytes("iso-8859-1"), "GBK");
System.out.println(paramValue);
//*/

不过说实话,这种处理方式让人很蛋疼,官方似乎也推荐的这种方式。很奇怪为什么设计器中的 IE中预览报表 就正常呢, 难说是它在 tomcat 中有什么配置?因为我我服务器上布署的应用完全是设计器中IE预览使用的应用的一份拷备而已。

PS: 代码中的注释方式简直就是艺术,只需要把第一个注释在 /*/ 和 //*/ 之间切换,就可以快速地在两段代码之间切换, 从师傅那里学来的。