`
verytiny
  • 浏览: 368241 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iReport乱码解决

阅读更多
iReport与JasperReport中文支持全面解决
在使用iReport与JasperReport作为报表产生工具时, 中文支持是经常遇到的问题,笔者最近做的一个J2EE Web项目采用这套工具开发报表,也遇到了类似问题,本文总结了在使用iReport与JasperReport开发报表时中文支持的有关内容,希望能对读者有所帮助.
1 运行环境
    1.1 JasperReport 1.2.8
    JasperReports是iReport的核心内容。它是一个强有力的开源报表产生工具,可以将内容输出到屏幕上、打印机或生成PDF, HTML, XLS, CSV和XML等文件。它完全用Java编写,并可在各种Java应用(包括J2EE或WEB应用)中用来产生动态报表内容。JasperReports组织根据在一个XML文件中定义的报表设计通过JDBC访问关系数据库中的数据.填充报表数据之前必须先将报表设计被编译成一个jasper文件。
下载地址: http://jasperreports.sourceforge.net/
    1.2 iReport 1.2 8
    iReport是一个制作Jasperreport XML文件的优秀可视化开发工具,通过它可以方便的设计报表模板。目前最高版本为iReport 1.3.0
下载地址: http://ireport.sourceforge.net
   1.3 iText 1.3.1
   iText是一个开放源码的Java类库,是用来生成PDF文件的。
下载地址: http://itext.sourceforge.net
   1.4 iTextAsian.jar
   如果要在生成的pdf文件显示中文等亚洲字符,还必须下载itext的亚洲字符包。
下载地址: http://itextdocs.lowagie.com/downloads/iTextAsian.jar
以上四个包必须加到应用程序的构建路径中或加到CLASSPATH,若是Web应用放入相应的WEB-INF\lib\中。
2 设置中文支持
    为了在报表中能够显示中文,加入以上四个包还不够(因为以上四个包仅对报表生成及中文显示提供了支持),必须设置报表上各显示对象的相关属性,各属性设置说明如下:
    Font        name:    宋体 (中文字体)
    PDF font name:   STSong-Light
    PDF  Encoding:  UniGB-UCS2-H(Chinese Siplified)
    PDF   Embeded: √
    如下图所示(显示对象的属性设置):

    注意:此三项的设置必须确保iTextAsian.jar亚洲语言包已经包含在项目中,否则出现编译错误.
    若读者觉得对每一个对象设置比较麻烦,可通过iReport的”Format””Fonts”菜单进行统一设置,并设成报表的默认字体。如下图所示:

3可能出现的问题
   经过以上的设置,报表中文的显示应该没什么问题了,笔者在报表的开发过程中遇到几个问题,现总结如下:
  3.1 问题描述
   在WinXp中运行iReport1.2.8,设计报表时将数据字段的字体设置成中文字体,调好格式后编译并运行,并使用JRViewer进行预览一切正常(中文显示正常),但使用PDF、Excel预览出现如下错误:
   Could not load the following font :
   pdfFontName   : STSong-Light
   pdfEncoding   : UniGB-UCS2-H
   isPdfEmbedded : true
   产生原因:成成PDF的亚洲语言包没有包含到项目中
   解决办法:将亚洲语言包iTextAsian.jar包含到项中,可能过iReport的”Options””Classpath”将iTextAsian.jar添加Classpath中或者直接将iTextAsian.jar复制到iReport安装目录下的lib中.若是Web项目则应该将iTextAsian.jar复制到此项目的WEB-INF\lib\中.
   3.2 问题描述
    在WinXp中运行iReport1.2.8,设计报表时将数据字段的字体设置成中文字体,调好格式后编译并运行,并使用JRViewer进行预览一切正常(中文显示正常),使用PDF、Excel预览时无任何错误,但中文无法显示(只显示空白).
    产生原因:报表显示对象的PDF字体属性设置不正确
    解决办法: 报表对象有关字体属性的设置如下:
    Font        name:         宋体 (中文字体)
    PDF font name:  STSong-Light
    PDF Encoding:   UniGB-UCS2-H(Chinese Siplified)
    PDF Embeded:  √
   即如下图所法

   3.3问题描述
    生成PDF、Excel文件时,中文显示一切正常,但生成Html文件时显示乱码
 产生原因:主要是网页编码问题
    解决方法
 在JSP页中生成Html时,设置 <%@ page contentType="text/html;charset=GB2312" %> 
 在Servlet中生成Html时,response.setContentType("text/html;charset=GB2312");
 若用户对项目进行了统一编码设定及过滤,则需要另作考虑,但主要还是集中在编码问题上.例如:笔者最近做的项目是其于Struts的,对编码进行了统一和过滤处理,生成Html页面时无需指编码就可正确生成Html页面,并不会出乱码,若设置成charset=GB2312反而出现了乱码.总之,对编码的统一与处理还是比较嘛烦的事.
    另外, 我们通过查看iReport生成的jrxml(<?xml version="1.0" encoding="UTF-8" ?>)文件可以发现, iReport保存的汉字都是UTF-8编码。了解它的编码可以有助于我们统一编码方式。
分享到:
评论
1 楼 zhengqxtom 2010-11-10  
我的IREPORT3.76一打开就乱吗不知咋回事?我的系统是XP中文

相关推荐

    解决iReport 中文乱码包

    可以解决iReport中文乱码 提供两个jar包 可以解决乱码问题

    Ireport中文不显示以及乱码十几种解决方案

    以上就是针对IReport中文不显示及乱码问题的十几种解决方案,每种情况都有其特定的解决办法。在尝试时,请根据自己的具体情况进行操作,相信总有一种方法能帮你解决问题。如果问题依然存在,建议查阅IReport的官方...

    iReport中文乱码问题解决

    针对描述中提到的"ireport中文乱码引入的jar",这很可能是解决乱码问题所需的特定JAR文件。这个文件可能包含了支持中文的字体或者编码处理的相关类。你需要将这个JAR添加到iReport的类路径中,具体步骤如下: 1. ...

    IREPORT问题解决方法.doc

    IREPORT 问题解决方法可以分为乱码问题解决方法、画线注意事项、字段、线高度的设置、IREPORT 表达式、显示的数据自动折行、Styles 风格、报表中新建样式的设置、报表中统一字体的设置和字符集包引入等几个方面。...

    Spring MVC整合IReport生成PDF及中文不显示、乱码解决

    本篇文章将详细讲解如何在Spring MVC项目中整合IReport来生成PDF,并解决可能出现的中文不显示和乱码问题。 首先,我们需要了解Spring MVC的基本概念。Spring MVC是Spring框架的一部分,它提供了一个模型-视图-控制...

    iReport-5.6.0.rar

    iReport 5.6.0是其一个重要的版本,尤其在中文支持方面做出了显著的改进,确保了在设计报表时可以顺利地使用中文字体,解决了之前版本可能存在的中文显示问题。 在iReport 5.6.0中,主要知识点包括: 1. **中文...

    Ireport中文学习手册

    这份文档对于那些正在使用或计划使用旧版Ireport的用户来说尤其宝贵,因为它可以解决很多在旧版软件中遇到的中文支持问题。 其次,"在Ireport4.0.1下实现PDF中文报表.pdf"则针对更新的Ireport4.0.1版本,详细讲解了...

    ireport jar包,可解决PDF不显示

    总的来说,"ireport jar包,可解决PDF不显示"这个问题的解决方案在于添加支持中文的jar包,这样ireport在生成PDF报表时就能正确显示中文内容,避免出现乱码或者无法显示的问题。对于使用ireport进行报表开发的开发者...

    ireport快速入门指南

    iReport还解决了不少在报表设计中可能遇到的问题,比如中文字体乱码和PDF中无法正常显示的问题、报表分栏显示、去除记录中的null值、实现奇偶行不同背景颜色的交替显示、格式化输出、柱状图的横向显示、主报表和子...

    iReport-5.1.0-windows-installer

    - **导出报表时出现乱码**:检查报表设计中的字符集设置,确保与导出格式兼容。 - **报表布局显示不正确**:仔细检查布局设计,确保所有元素都正确放置且适应不同的数据量。 通过以上详细介绍,我们可以看到 ...

    ireport+jasperreport开发中问题解决方案

    以上是针对ireport+jasperreport开发中常见问题的解决方案,每个知识点都是报表设计中不可或缺的一部分,熟练掌握这些技巧将有助于提高报表开发的效率和质量。在实践中,还需要不断学习和尝试,以应对更多复杂场景下...

    国产报表Ireport,pdf打印输出中文

    6. **问题排查**:如果在实际应用中仍然遇到中文乱码,可以检查以下几个方面:数据库连接编码、源代码中的字符编码设置、报表XML文件的编码声明,以及服务器和客户端的环境变量配置。 总之,Ireport处理PDF中文输出...

    ireport快速入门指南.pdf

    6. 解决报表问题:文档列举了一些常见的报表问题以及它们的解决方案,例如中文字体乱码、PDF中无法显示、报表分栏、空值处理、背景颜色交替、格式化输出、柱状图方向、报表参数传递、不同文件格式导出、Web应用中...

    iReport-5.1.0-windows-installer.exe

    #### 五、常见问题及解决方法 1. **无法连接数据库**: - 检查数据库连接信息是否正确。 - 确认数据库服务是否正在运行。 - 检查防火墙设置是否阻止了连接。 2. **报表导出时出现乱码**: - 设置正确的字符...

    IReport文档合集

    这两份文档可能详细介绍了如何在IReport 4.0.1版本中处理中文字符,解决乱码问题,以及如何设置PDF输出的字体、样式和排版,确保在不同环境下都能正确显示。 总的来说,这个合集涵盖了IReport从入门到进阶的多个...

    ireport+web进行报表开发

    本主题将深入探讨如何利用`iReport`进行Web环境下的报表开发,以及解决其中遇到的中文不显示问题。 首先,`iReport`是基于`JasperReports`库的一个设计工具,用于设计`.jasper`格式的报表模板。这些模板可以包含...

Global site tag (gtag.js) - Google Analytics