Tomcat下快逸报表中文乱码问题怎么解决
报表展现过程中出现乱码是难免的,各种字符集之间的转换稍不留神就会出问题, 本文就中文乱码问题总结一些常见错误和解决办法。
中文乱码一般由中文报表名称,中文参数引起,先看一下常见错误:
1. 发布中文名称的报表时的报错信息(发布页面、设计器控制台、log日志文件中提示)
runqianReportLogger : [ERROR] – ERROR:
: 读报表文件失败:????????±¨±í_arg.raq
错误来源:报表文件/reportFiles/????????±¨±í_arg.raq不存在
at com.runqian.report4.cache.ReportEntry.getReportDefine(Unknown Source:143)
at com.runqian.report4.tag.ParamTag.doStartTag(Unknown Source:233)
2. 没有报错信息,报表文件中中文部分出现乱码
解决办法:
在tomcat中server.xml中添加:URIEncoring=”GBK”,原理是指定浏览器的编码格式为”简体中文”:
具体代码如下:
server.xml文件:
maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″
enableLookups=”false” redirectPort=”8443″ acceptCount=”100″
debug=”0″ connectionTimeout=”20000″
disableUploadTimeout=”true” URIEncoding=”GBK”/>
经过这样的修改以后中文乱码就大部分都可以解决了。
注意:是URIEncoring=”GBK”而不是uriencode=GBK ,很多客户是因为笔误造成了错误,这样的错误很容易被忽视。
更多的乱码问题可以参照:
jsp中文显示乱码解决方案
这两篇文章中几乎囊括了所有java乱码的案例,快逸报表也是纯java开发,文章中的很多东西我们都可以借鉴。