8) 不过如果你是用简体中文或者繁体中文,那么你会看到图形中的汉字都是乱码,这是因为Mantis对于JPGraph的编码设置不正确造成的,JPGraph会自动将汉字转换为UTF-8编码,但是需要在调用JPGraph的时候对标题等SetFont,Mantis没有做这个操作,因此汉字显示出来都是乱码,解决方法是在Mantiscoregraph_api.php中增加对图形标题等设置字体的代码; 对于柱图和线图,要设置图形标题和x、y轴标题、节点标题:
//Set the title and axis font if the default_language is set to chinese if (config_get('default_language') == 'chinese_simplified')
{
$graph->title->SetFont(FF_SIMSUN,FS_NORMAL);
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_NORMAL);
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_NORMAL);
$graph->xaxis->SetFont(FF_SIMSUN,FS_NORMAL);
$graph->yaxis->SetFont(FF_SIMSUN,FS_NORMAL);
}
else if (config_get('default_language') == 'chinese_traditional')
{
$graph->title->SetFont(FF_CHINESE,FS_NORMAL);
$graph->yaxis->title->SetFont(FF_CHINESE,FS_NORMAL) ;
$graph->xaxis->title->SetFont(FF_CHINESE,FS_NORMAL) ;
$graph->xaxis->SetFont(FF_CHINESE,FS_NORMAL);
$graph->yaxis->SetFont(FF_CHINESE,FS_NORMAL); };
对于饼图,要设置图形标题和图例名称:
//Set the title and legend font if the default_language is set to chinese if
(config_get('default_language') == 'chinese_simplified')
{
$graph->title->SetFont(FF_SIMSUN,FS_NORMAL);
$graph->legend->SetFont(FF_SIMSUN,FS_NORMAL);
}
else if (config_get('default_language') == 'chinese_traditional')
{
$graph->title->SetFont(FF_CHINESE,FS_NORMAL);
$graph->legend->SetFont(FF_CHINESE,FS_NORMAL);
};
大家可以找到位置自己修改,简单的说是在graph_api.php中每个“$graph->title->Set(…”后面根据当前的图表是柱图、线图还是饼图分别加上上面两段;
9) 现在你的图形报表应该可以显示中文了。 好了,Mantis的配置工作到此结束了。