[Grails] Grails 学习笔记 (八)– 实战Grails Birt plugin乱码问题

icress 2011-06-15
之前在SSH2框架下面写过关于BIRT的报表,也成功部署了,现在还在稳定的运行中。今天同样用GRAILS,怎么就有乱码了,原来还以为在MAC OS的问题,结果换到WIN下面还是一样,可是直接在ECLIPSE下面却没有这样的问题,上网收了一下,有人说是

1、字体的问题,可是里面有的字体我都试过了也不行
2、修改fontsConfig.xml,在里面新加宋体,然后在报表里面选择相应的字体,问题依旧在
3、对比SSH2的JAR包,该在的都在,。。
4、试了下,导出PDF竟然是OK的,发现downloadAs里面这样写的

render(
view : 'birt/report/download'
, contentType:'text/html'
,encoding:"UTF-8"
, text:result.toString())


这个里面的encoding在view方法里面没有,本以为这回该OK了吧,谁知道加上了还是乱码,心恢意冷,时间已经过去了two days
5、经过前面的折腾,我肯定不是字体的问题,肯定是encoding方面出了问题,所以决定在BirtReportService.runAndRender里面看看倒底是哪里出了问题,可是部署以后又不能DEBUG,所以在499行加上

log.error buf.toString()


部署后,查看LOG日志,果然是乱码,所以在第四步中加的没起作用
6、导出Excel,发现是乱码,但是选择编码以后,马上OK了,前面看到无数次,都没想到,现在终于知道结果了,重复第五步,加上UTF-8

log.error buf.toString("UTF-8")


部署后,终于看到了非乱码的HTML代码,哈哈
7、修改 controller
在controller中,修改为

birtReportService.runAndRender(reportName, reportParams, htmlOptions).toString("UTF-8")


部署,终于不是乱码了,哈哈。
331875787 2012-02-24
你好。可以给我发份代码参考参考吗?
hantianhong 2013-04-08
你好,我现在在学习grails中集成birt插件。你能帮我介绍下吗?
Global site tag (gtag.js) - Google Analytics