JpGraph使用详解之中文乱码解决方法
|
在前面的JpGraph使用详解这篇文章,已经对JpGraph的使用方法作了详细的交代,前面说好的,接下来解决中文乱码。 JpGraph为什么会出现中文乱码 在JpGraph中默认是要把字符串转成utf8的,但是如果你的文件本身就是utf8的,并且要用中文字体,它还会转一遍,结果多转了一次,就会出现乱码。如图所示
解决中文乱码 取前篇的代码片断如下 title->Set("Accumulatedbarplots"); $graph->xaxis->title->Set("X-title"); $graph->yaxis->title->Set("Y-title");//和上面标题对应,设置标题的字体和大小
把它改为 title->Set(iconv("UTF-8","GB2312//IGNORE","网志博客信息统计表")); $graph->xaxis->title->Set(iconv("UTF-8","X-标题")); $graph->yaxis->title->Set(iconv("UTF-8","Y-标题"));//和上面标题对应,设置标题的字体和大小
使用php函数据中文由UTF-8转为GB2312,记住由于iconv本身的一个bug,iconv在转换字符"—"到gb2312时会出错,所以在需要转成的编码后加上 "//IGNORE" 。 FF_SIMSUN表示中文简体,对应的字体文件是simsun.ttc,虽然FF_CHINESE和FF_BIG5也表示中文但是它们对应的字体文件是不同的,所以不要弄错。 下面是正确转换后生成的图
下面是本例调试的完整代码 $data1y=array(0,8,9,3,5,6); $data2y=array(18,2,1,7,4); //Createthegraph.Thesetwocallsarealwaysrequired $graph->SetShadow(); //Createthebarplots //Createthegroupedbarplot //...andaddittothegraPH $graph->title->SetFont(FF_SIMSUN,FS_BOLD); $graph->Stroke();
当然了,我这里只介绍了一种方法,还有一种就是修改源码,但不推荐。因为我觉得改动源码可能会给其它地方带来意想不到的麻烦。 使用JpGraph,要知道其版本、运行服务器以及操作系统的息息,不能张冠李戴,否则麻烦多多。 好了,至此JpGraph使用介绍也就这么多了。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
