首页 > php教程 > php手册 > 正文

解决JpGraph中文乱码问题的方法

php中文网
发布: 2016-05-26 08:20:35
原创
2644人浏览过

jpgraph是一个非常不错的图形类库了,我们可以直接使用它生成各种柱状图,饼图,折线图并且还可以增加文字说明了,在增加英文数字时没有问题,但增加中文汉字说明时会发现乱码问题,对此小编整理了一些解决jpgraph中文乱码问题的方法供各位参考。

JpGraph为什么会出现中文乱码

在JpGraph中默认是要把字符串转成utf8的,但是如果你的文件本身就是utf8的,并且要用中文字体,它还会转一遍,结果多转了一次,就会出现乱码。如图所示

JpGraph使用详解之中文乱码解决方法

解决JpGraph中文乱码问题的方法,取前篇的代码片断如下:

//设置图表的标题字体、大小 
$graph->title->Set("Accumulated bar plots"); 
$graph->xaxis->title->Set("X-title"); 
$graph->yaxis->title->Set("Y-title"); 
//和上面标题对应,设置标题的字体和大小 
$graph->title->SetFont(FF_FONT1,FS_BOLD); 
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD); 
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD); 
//把它改为 
//设置图表的标题字体、大小 
$graph->title->Set(iconv("UTF-8","GB2312//IGNORE","网志博客信息统计表"));  
$graph->xaxis->title->Set(iconv("UTF-8","GB2312//IGNORE","X-标题")); 
$graph->yaxis->title->Set(iconv("UTF-8","GB2312//IGNORE","Y-标题")); 
//和上面标题对应,设置标题的字体和大小 
$graph->title->SetFont(FF_SIMSUN,FS_BOLD); 
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD); 
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
登录后复制

使用php函数据中文由UTF-8转为GB2312,记住由于iconv本身的一个bug,iconv在转换字符"-"到gb2312时会出错,所以在需要转成的编码后加上 "//IGNORE".

FF_SIMSUN表示中文简体,对应的字体文件是simsun.ttc,虽然FF_CHINESE和FF_BIG5也表示中文但是它们对应的字体文件是不同的,所以不要弄错.

解决JpGraph中文乱码问题的方法,下面是本例调试的完整代码:

php商城系统
php商城系统

PHP商城系统是国内功能优秀的网上商城系统,同时也是一个商业的PHP开发框架,有多套免费模版,强大的后台管理功能,专业的网上商城系统解决方案,快速建设网上购物商城、数码商城、手机商城、办公用品商城等网站。 php商城系统v3.0 rc6升级 1、主要修复用户使用中出现的js未加载完报错问题,后台整改、以及后台栏目的全新部署、更利于用户体验。 2、扩展出,更多系统内部的功能,以便用户能够迅速找到需

php商城系统 0
查看详情 php商城系统
require_once ('jpgraph/jpgraph.php'); 
require_once ('jpgraph/jpgraph_bar.php'); 
$data1y=array(0,8,9,3,5,6); 
$data2y=array(18,2,1,7,5,4); 
// Create the graph. These two calls are always required 
$graph = new Graph(500,400); 
$graph->SetScale("textlin"); 
$graph->SetShadow(); 
$graph->img->SetMargin(40,30,20,40);//设置图形的边距 
// Create the bar plots 
$b1plot = new BarPlot($data1y); 
$b1plot->SetFillColor("orange"); 
$b1plot->value->Show(); 
$b2plot = new BarPlot($data2y); 
$b2plot->SetFillColor("blue"); 
$b2plot->value->Show(); 
// Create the grouped bar plot 
$gbplot = new AccBarPlot(array($b1plot,$b2plot)); 
// ...and add it to the graPH 
$graph->Add($gbplot); 
//设置标题字体样式 
$graph->title->Set(iconv("UTF-8","GB2312//IGNORE","网志博客信息统计表")); 
$graph->xaxis->title->Set(iconv("UTF-8","GB2312//IGNORE","X-标题")); 
$graph->yaxis->title->Set(iconv("UTF-8","GB2312//IGNORE","Y-标题")); 
$graph->title->SetFont(FF_SIMSUN,FS_BOLD); 
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD); 
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD); 
$graph->Stroke();
登录后复制

当然了,我这里只介绍了一种方法,还有一种就是修改源码,但不推荐,因为我觉得改动源码可能会给其它地方带来意想不到的麻烦.

使用JpGraph,要知道其版本、运行服务器以及操作系统的息息,不能张冠李戴,否则麻烦多多,好了,至此JpGraph使用介绍也就这么多了.


永久地址:

转载随意~请带上教程地址吧^^

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

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

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