解决jpgraph中文乱码一例


jpgraph真是不错,我们用简单的几个函数就可以实现统计中的图形,有点郁闷的是遭遇中文乱码了,找了几个地方终于解决jpgraph中文乱码。
查找相关文章:jpgraph中文乱码 jpgraph

jpgraph真是不错,我们用简单的几个函数就可以实现统计中的图形,有点郁闷的是遭遇中文乱码了,找了几个地方终于解决jpgraph中文乱码。

我不知道jpgraph是不是会自定将gb2312的编码转换为utf-8的,总之使用网上的方法,我的jpgraph总是乱码,jpgraph版本是2.3.4 php版本是5.2.7 redhat linux服务器

如果服务器没有simsun.ttc字体,可以从windows系统拷贝上传到服务器,定义路径就可以了

[php]<?php
define('TTF_DIR', str_replace("","/",substr(dirname(__FILE__), 0, -6)).'/jpgraph/fonts/');
?>[/php]

[php]<?php
function miconv($names) {
    if(is_array($names)){
        foreach($names as $name){
            $newname[] = iconv('UTF-8','GB2312',$name);
        }
    }else{
        $newname = iconv('UTF-8','GB2312',$names);
    }
    return $newname;
}


    $names = miconv(array('知道','不知道'));
    $data = array('1','2');

    $graph = new PieGraph(500,375,"auto");
    $graph->SetShadow();
   
    $title = miconv('是否知道大眼妹的网址?');
    $graph->title->Set($title);
    $graph->title->SetFont(FF_SIMSUN, FS_NORMAL);
   
    $p1 = new PiePlot3D($data);
    $p1->ExplodeSlice(1);
    $p1->SetCenter(0.45);
    $p1->SetLegends($names);
    $graph->legend->SetFont(FF_SIMSUN, FS_NORMAL);
    $graph->Add($p1);
    $graph->Stroke();
?>[/php]

上述的代码能正常显示中文

  • 你可能对这些文章感兴趣