解决jpgraph中文乱码问题

在PHP开发使用jpgraph类库生成统计图表时,图表的标题及坐标轴文字出现中文乱码情况,现将解决办法总结如下,仅供参考。

jpgraph的下载和配置过程省略,直接进入正题:

(1)修改jpgraph_ttf.inc文件

在jpgraph的src目录下,找到jpgraph_ttf.inc文件,编辑图中代码(在180行左右),注释掉原有内容,直接返回$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;			
        }

(2)下载simsun.ttf格式文件

自行下载simsun.ttf文件后,放置在jpgraph目录下的src/fonts文件夹里,命名为"FF_SIMSUN.ttf"。

(3)修改jpgraph_legend.inc文件

在jpgraph的src目录下,找到jpgraph_legend.inc文件,编辑图中代码,将"FF_DEFAULT"替换为"FF_SIMSUN"。此处注意:变量名要与步骤二中的文件名一致。

class Legend {
    public $txtcol=array();
    //public $font_family=FF_DEFAULT,$font_style=FS_NORMAL,$font_size=8; // old. 12
	public $font_family=FF_SIMSUN,$font_style=FS_NORMAL,$font_size=8; // old. 12

修改完毕,在生成图表时,可直接引用中文并设置其格式,例如:

$graph->title->Set('销量统计');//标题内容

$graph->title->SetFont(FF_SIMSUN, FS_BOLD, 15); // 标题格式

posted on 2015-03-12 16:22  猫腿饭  阅读(834)  评论(0编辑  收藏  举报