jpgraph 汉字乱码解决方案及实例_PHP教程

php中文网
发布: 2016-07-13 17:39:12
原创
1338人浏览过

  jpgraph是php世界里一款非常方便的做各种图表的工作,柱状图、饼图、雷达图等,基本上对所有的图表无所不能。

  在PEAR中,也有一款做图表的工具,叫image_graph,这个工具功能也是非常强大,但jpgraph和image_graph比起来的最大好处,就是有很多的例子和非常详细的文档说明,这就使jpgraph用起来是相当的方便。

  最后决定选用jpgraph。

  下面是一段代码。同时在用的过程中遇到了汉字乱码的问题,原因已经找到,也和大家说明一下。

  如果您在使用jpgraph的过程遇到了什么问题,可以MAIL给我,大家一直探讨。同时,如果你有什么使用心得,也希望您能够发到LAMPER上,让更多的人分享你的经验。

立即学习PHP免费学习笔记(深入)”;

 

<ol class="dp-c"><li class="alt"><span><span><?php   </span></span></li><li><span class="keyword">include</span><span> (</span><span class="string">"../jpgraph.php"</span><span>);   </span></li><li class="alt"><span class="keyword">include</span><span> (</span><span class="string">"../jpgraph_line.php"</span><span>);   </span></li><li><span>   </span></li><li class="alt"><span class="vars">$ydata</span><span> = </span><span class="keyword">array</span><span>(11,3,8,12,5,1,9,13,5,7);   </span></li><li><span class="vars">$y2data</span><span> = </span><span class="keyword">array</span><span>(354,200,265,99,111,91,198,225,293,251);   </span></li><li class="alt"><span class="vars">$datax</span><span> = </span><span class="keyword">array</span><span>(</span><span class="string">"2006-01-01"</span><span>,</span><span class="string">"2006-01-01"</span><span>,</span><span class="string">"2006-01-01"</span><span>,</span><span class="string">"2006-01-01"</span><span>,</span><span class="string">"2006-01-01"</span><span>,</span><span class="string">"2006-01-01"</span><span>,</span><span class="string">"2006-01-01"</span><span>,</span><span class="string">"2006-01-01"</span><span>,</span><span class="string">"2006-01-01"</span><span>,</span><span class="string">"2006-01-01"</span><span>);   </span></li><li><span>   </span></li><li class="alt"><span class="comment">// Create the graph. These two calls are always required  </span><span> </span></li><li><span class="vars">$graph</span><span> = </span><span class="keyword">new</span><span> Graph(800,400,</span><span class="string">"auto"</span><span>);    </span></li><li class="alt"><span class="vars">$graph</span><span>->img->SetMargin(40,40,20,40);   </span></li><li><span>   </span></li><li class="alt"><span class="vars">$graph</span><span>->title->SetFont(FF_SIMSUN,FS_BOLD);   </span></li><li><span class="vars">$title</span><span> = </span><span class="string">"展示pv/展示ip"</span><span>;   </span></li><li class="alt"><span class="vars">$graph</span><span>->title->Set(</span><span class="vars">$title</span><span>);   </span></li><li><span>   </span></li><li class="alt"><span class="vars">$graph</span><span>->SetScale(</span><span class="string">"textlin"</span><span>);   </span></li><li><span class="vars">$graph</span><span>->SetY2Scale(</span><span class="string">"lin"</span><span>);   </span></li><li class="alt"><span>   </span></li><li><span class="vars">$graph</span><span>->xaxis->title->Set(</span><span class="string">"时间"</span><span>);   </span></li><li class="alt"><span class="vars">$graph</span><span>->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);   </span></li><li><span class="vars">$graph</span><span>->xaxis->SetTickLabels(</span><span class="vars">$datax</span><span>);   </span></li><li class="alt"><span>   </span></li><li><span class="vars">$graph</span><span>->yaxis->title->Set(</span><span class="string">"展示pv"</span><span>);   </span></li><li class="alt"><span class="vars">$graph</span><span>->yaxis->SetColor(</span><span class="string">"blue"</span><span>);   </span></li><li><span class="vars">$graph</span><span>->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD);   </span></li><li class="alt"><span>   </span></li><li><span class="vars">$graph</span><span>->y2axis->title->Set(</span><span class="string">"展示IP"</span><span>);   </span></li><li class="alt"><span class="vars">$graph</span><span>->y2axis->SetColor(</span><span class="string">"orange"</span><span>);   </span></li><li><span class="vars">$graph</span><span>->y2axis->title->SetFont(FF_SIMSUN,FS_BOLD);   </span></li><li class="alt"><span>   </span></li><li><span class="vars">$lineplot</span><span>=</span><span class="keyword">new</span><span> LinePlot(</span><span class="vars">$ydata</span><span>);   </span></li><li class="alt"><span class="vars">$lineplot</span><span>->SetColor(</span><span class="string">"blue"</span><span>);   </span></li><li><span class="vars">$lineplot</span><span>->SetWeight(2);   </span></li><li class="alt"><span class="vars">$lineplot</span><span>->SetLegend(</span><span class="string">"展示pv"</span><span>);   </span></li><li><span class="vars">$graph</span><span>->legend->SetFont(FF_SIMSUN,FS_BOLD);   </span></li><li class="alt"><span>   </span></li><li><span class="vars">$lineplot2</span><span>=</span><span class="keyword">new</span><span> LinePlot(</span><span class="vars">$y2data</span><span>);   </span></li><li class="alt"><span class="vars">$lineplot2</span><span>->SetColor(</span><span class="string">"orange"</span><span>);   </span></li><li><span class="vars">$lineplot2</span><span>->SetWeight(2);   </span></li><li class="alt"><span class="vars">$lineplot2</span><span>->SetLegend(</span><span class="string">"展示ip"</span><span>);   </span></li><li><span>   </span></li><li class="alt"><span>   </span></li><li><span class="vars">$graph</span><span>->Add(</span><span class="vars">$lineplot</span><span>);   </span></li><li class="alt"><span class="vars">$graph</span><span>->AddY2(</span><span class="vars">$lineplot2</span><span>);   </span></li><li><span>   </span></li><li class="alt"><span class="comment">// Display the graph  </span><span> </span></li><li><span class="vars">$graph</span><span>->Stroke();   </span></li><li class="alt"><span>?>  </span></li></ol>
登录后复制

  注意SetFont方法,如果你的文件编码是gb2312,SetFont方法的第一个参数为FF_SIMSUN即可正常显示汉字

怪兽AI数字人
怪兽AI数字人

数字人短视频创作,数字人直播,实时驱动数字人

怪兽AI数字人 44
查看详情 怪兽AI数字人

  如果你的文件编码为utf-8,还需加一句$title = iconv("UTF-8", "gb2312", $title)

  在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);
}

  就是说,jpgraph默认显示汉字时是把汉字编码认为gb2312,转化为utf-8以后再显示。

  这样的话,如果你的文件编码是gb2312,SetFont方法的第一个参数为FF_SIMSUN即可

  如果你是utf-8编码你还需要先把汉字编码转化为gb2312,这样你的汉字才可以正常显示。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/486315.htmlTechArticleJPGRAPH是PHP世界里一款非常方便的做各种图表的工作,柱状图、饼图、雷达图等,基本上对所有的图表无所不能。 在PEAR中,也有一款做图表...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号