php教程 php手册 解决JpGraph中文乱码问题的方法

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

May 26, 2016 am 08:20 AM

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中文乱码问题的方法,下面是本例调试的完整代码:

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使用介绍也就这么多了.


永久地址:

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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)