如何制作utf-8报告?

时间:2015-06-24 13:21:00

标签: birt

我的报告没有写出完全突出的字母(法语),因此报告中显示的字符数量不可读。 runReport.php文件是:

<?php

define("ROOT_PATH", "../");

require_once ROOT_PATH  . 'config.inc.php';
require_once("java/Java.inc");

class runReport {

    function runReport($report, $param, $output) {

      $pth = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"];
      $path_parts = pathinfo($pth);
      $imageURLPrefix = $path_parts['dirname'] ."/images/";

      session_start(); 
      $here = getcwd();

      $ctx = java_context()->getServletContext();
      $birtReportEngine =        java("org.eclipse.birt.php.birtengine.BirtEngine")->getBirtEngine($ctx);
      java_context()->onShutdown(java("org.eclipse.birt.php.birtengine.BirtEngine")->getShutdownHook());

      try{
            $thereport = $birtReportEngine->openReportDesign(RP_REPORT.$report);
            $task = $birtReportEngine->createRunAndRenderTask($thereport);
            $task->setParameterValue("province", new java("java.lang.Integer", read_post_int("province"));
            $taskOptions = new java("org.eclipse.birt.report.engine.api.HTMLRenderOption");
            $outputStream = new java("java.io.ByteArrayOutputStream");
            $taskOptions->setOutputStream($outputStream);
            $taskOptions->setOutputFormat("html");
            $ih = new java( "org.eclipse.birt.report.engine.api.HTMLServerImageHandler");
            $taskOptions->setImageHandler($ih);
            $taskOptions->setEnableAgentStyleEngine(true);
            $taskOptions->setBaseImageURL($imageURLPrefix . session_id());
            $taskOptions->setImageDirectory($here . "/images/" . session_id());
            $task->setRenderOption( $taskOptions );
            $task->run();
            $task->close();
         }
      catch (JavaException $e) {
            echo $e; //"Error Calling BIRT";
          }
      echo $outputStream;
    }
}
?>

那么如何使报告支持utf-8编码?

1 个答案:

答案 0 :(得分:0)

不知道PHP,但这可能是您的编码HTTP标头的问题。 BIRT生成的HTML源代码是什么样的。 它是否包含<meta charset="xxx"/>标记? 如果是,则应该匹配Content-Encoding HTTP标头(由服务器发送,可能可以通过PHP设置)。