mantis中如何显示统计报表

上一篇 / 下一篇  2007-07-23 11:33:30 / 个人分类:Mantis

你是否正确安装了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就不行了,
总会有部分人报表出现乱码。所以一个小组一定要统一阿:-)

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

TAG: Mantis

引用 删除 xunrl   /   2008-05-13 15:59:31
我按照你说的进行了配置,能显示汉字,上面出现了一些图标,包括按照状态统计,按照优先级别统计..,但是当点进去的时候,会提示Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 6144 bytes) in C:\AppServ\www\mantis-1.1.0a4\jpgraph-2.3\src\jpgraph.php on line 3234
我该怎么解决?
 

评分:0

我来说两句

我的栏目

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

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

RSS订阅

Open Toolbar