我用ireport做完报表后 编译成.jasper文件 然后用jbuilder2006 在jsp页面下调用以下语句 : (报表是出来了 可是数据有好多??号 ,可是我在工程目录下加载了
语言包 并且在做报表的时候 也按帮助文档 设置好了字体和PDF Encoding属性
想请问 如何解决中文数据都是?号的问题
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.export.*"%>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="net.sf.jasperreports.engine.util.JRLoader" %>
<%@ page import="java.sql.*" %>
<%
//得到数据源
String sqlDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
Connection conn =null; try
{
Class.forName(sqlDriver); //加载驱动程序
conn = DriverManager.getConnection("jdbc:odbc:report","sa","123");
//确定报表文件(*.jasper)的路径
File reportFile = new File(application.getRealPath("/ireport/total_taking_report.jasper"));
JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
//下面这两行代码告诉我们要用"名值对"的方式来传递报表参数
Map parameters = new HashMap();
parameters.put("REPORT_CODE", "01");
parameters.put("REPORT_TIME", "2006-08-01");
JasperPrint jasperPrint =
JasperFillManager.fillReport(
jasperReport,
parameters,
conn
);
//运行报表的最一步则是要导出(exort)报表到一个输出流
JRHtmlExporter exporter = new JRHtmlExporter(); Map imagesMap = new HashMap();
session.setAttribute("IMAGES_MAP", imagesMap);
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING,"gbk");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
exporter.exportReport(); }
catch (Exception ex) { }%>
语言包 并且在做报表的时候 也按帮助文档 设置好了字体和PDF Encoding属性
想请问 如何解决中文数据都是?号的问题
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.export.*"%>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="net.sf.jasperreports.engine.util.JRLoader" %>
<%@ page import="java.sql.*" %>
<%
//得到数据源
String sqlDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
Connection conn =null; try
{
Class.forName(sqlDriver); //加载驱动程序
conn = DriverManager.getConnection("jdbc:odbc:report","sa","123");
//确定报表文件(*.jasper)的路径
File reportFile = new File(application.getRealPath("/ireport/total_taking_report.jasper"));
JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
//下面这两行代码告诉我们要用"名值对"的方式来传递报表参数
Map parameters = new HashMap();
parameters.put("REPORT_CODE", "01");
parameters.put("REPORT_TIME", "2006-08-01");
JasperPrint jasperPrint =
JasperFillManager.fillReport(
jasperReport,
parameters,
conn
);
//运行报表的最一步则是要导出(exort)报表到一个输出流
JRHtmlExporter exporter = new JRHtmlExporter(); Map imagesMap = new HashMap();
session.setAttribute("IMAGES_MAP", imagesMap);
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING,"gbk");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
exporter.exportReport(); }
catch (Exception ex) { }%>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货