发布新日志

  • mantis中如何显示统计报表

    2007-07-23 11:33:30

    你是否正确安装了JPGraph
    默认情况下,Mantis的图形报表是关闭的,需要安装JPGraph模块。

    1). 可以在http://www.aditus.nu/jpgraph/jpdownload.php下载最新版的JPGraph,请注意JPGraph 1.x 版本是针对php4,2.x 是针对php5的,请下载对应版本。

    2). 将下载包解压到一个目录下,我解压到mantis下的jpgraph目录,定义为$JPGraph。

    3). 然后在config_inc.php中添加下面几行:

    $g_use_jpgraph = ON;
    $g_jpgraph_path = './jpgraph/src/';       //你也可以按照你的地址填写文件的绝对路径。

    4). 在php.ini将“;extension=php_gd2.dll”前面的分号删除,这个模块是JPGraph在显示图表和进行汉字编码转换是所必须的。

    (3) JPGraph的中文显示

    据说1.0以后的版本已经能够很好的支持报表中文显示,但可能PHP5的问题,我这里还是乱码,这里列出参考别人的方法我所做的配置。

    1) 如果你的界面语言是用简体中文或者繁体中文,那么你会看到图形中的汉字都是乱码,这是因为Mantis对于JPGraph的编码设置不正确造成的。
    JPGraph会自动将汉字转换为UTF-8编码,但是需要在调用JPGraph的时候对标题等SetFont,Mantis没有做这个操作,因此汉字显示出来都是乱码。
    解决方法是增加对图形设置字体的代码;

    2) 打开$mantis\core\graph_api.php,查找:graph_get_font(),在其中添加一行

    'chinese_gbk' => FF_SIMSUN,

    3) 在config_inc.php文件中添加

    $g_graph_font           = 'chinese_gbk';

    4) 打开$JPGraph\src\jpg-config.inc.php

    查找 DEFINE('CHINESE_TTF_FONT','bkai00mp.ttf');
    改为 DEFINE('CHINESE_TTF_FONT','simsun.ttc');

    jpg-config.inc.php也可以不改,如果生成的图形中的字体想由自己定义,可以这样改。

    这个时候,如果你选择的语言是chinese_simplified,现在你的图形报表应该就可以显示中文了。

    5) 但如果你选择语言跟我一样是chinese_simplified_utf8,则发现报表显示还是乱码。
    原来JPGraph中处理的时候比较bt,只要看到字体设置是FF_SIMSUN,就认为字符串编码是GB2312,输出的时候都要转成UTF8,
    单实际上已经是UTF8了,根本不用转。

    直接修改代码:

    打开JPGraph下的jpgraph.php文件,搜索其中:
    elseif( $aFF === FF_SIMSUN ) {
          // Do Chinese conversion
      
          if( $this->g2312 == null ) {
       include_once 'jpgraph_gb2312.php' ;
       $this->g2312 = new GB2312toUTF8();
          }
          return $this->g2312->gb2utf8($aTxt);
    }
    改为:
    elseif( $aFF === FF_SIMSUN ) {
          // Do Chinese conversion
       /*
          if( $this->g2312 == null ) {
       include_once 'jpgraph_gb2312.php' ;
       $this->g2312 = new GB2312toUTF8();
          }
          return $this->g2312->gb2utf8($aTxt);
       */
       return $aTxt;
    }
    就是把转换编码的代码注释掉,最好不要直接删掉了,不然以后想改回来就麻烦了。

    这样改实际是有些问题,如果mantis中有部分用户的语言选择为chinese_simplified,另一部分选择为chinese_simplified_utf8就不行了,
    总会有部分人报表出现乱码。所以一个小组一定要统一阿:-)

    目前图形报表中文显示应该没有问题了。

我的栏目

数据统计

  • 访问量: 5506
  • 日志数: 2
  • 建立时间: 2007-07-23
  • 更新时间: 2007-10-25

RSS订阅

Open Toolbar