jrxml中有中文,执行ant build的电脑的在国外,即系统环境是英文环境
build.xml的代码如下:
<target name="compile-report" description="Compiles the XML report design and produces the .jasper file." depends="prepare-build, build-jar">
<taskdef name="jrc" classname="net.sf.jasperreports.ant.JRAntCompileTask">
<classpath >
<fileset refid="compile-infslib.path" />
<fileset dir="${build.dist.dir}">
<include name="${project.platform_server.jar}" />
</fileset>
</classpath>
</taskdef>
<jrc destdir="${re.build.report.layout.dir}" keepjava="true">
<src>
<fileset dir="${ps.build.rpt.src.dir}">
<include name="**/*.jrxml" />
</fileset>
</src>
<classpath>
<fileset refid="compile-infslib.path" />
<fileset dir="${build.dist.dir}">
<include name="${project.platform_server.jar}" />
</fileset>
</classpath>
</jrc>
<delete dir="${ps.build.root}/report" />
</target>
最终导致PDF 报表中的中文变成了乱码,因为ant用的是系统语言指定的encoding,在这里可否自己指定?如果可以,该如何配置,将encoding指定为'UTF-8'
------解决方案--------------------
可以在javac里执行 <javac destdir="${build.classes}" srcdir="${src.dir}" classpathref="complie">
<compilerarg line="-encoding GBK"/>
</javac>