搜尋
首頁後端開發php教程jpgraph 汉字乱码解决方案及实例_PHP教程
jpgraph 汉字乱码解决方案及实例_PHP教程Jul 13, 2016 pm 05:39 PM
jpgraphphp世界亂碼實例漢字解決方案

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

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

  最后决定选用jpgraph。

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

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

 

<ol class="dp-c">
<li class="alt"><span><span><?php    </span></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即可正常显示汉字

  如果你的文件编码为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中,也有一款做图表...
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
php 导入csv乱码问题怎么办php 导入csv乱码问题怎么办Nov 21, 2022 am 09:32 AM

php导入csv乱码问题的解决办法:1、构造一个解析函数“function tb_str_getcsv($string, $delimiter=',', $enclosure='"') {...}”;2、读取文件到变量;3、通过“substr($s,2)”去掉BOM头即可。

cmd php乱码怎么办cmd php乱码怎么办Nov 22, 2022 am 10:29 AM

cmd php乱码的解决办法:1、在windows平台的cmd或shellpower中,执行php脚本并检查是否乱码;2、通过在php脚本里执行“exec("CHCP 65001");”命令去修改当前页码字符集即可。

php+fread()乱码怎么办php+fread()乱码怎么办Jan 18, 2023 am 10:21 AM

php+fread()乱码是因为输出页面的编码和被读文件的编码不一致,其解决办法:1、打开相应的PHP文件;2、通过fread函数读取文件;3、通过“iconv('gbk', 'utf-8', $data)”方法将读取的内容转码即可。

wordpress后台乱码怎么办wordpress后台乱码怎么办Feb 03, 2023 pm 01:48 PM

wordpress后台乱码的解决办法:1、在wordpress的“wp-admin”文件夹下找到“admin.header.php”文件;2、将“charset”属性值设置为“UTF-8”格式即可恢复正常。

使用PHP和JpGraph实现图表的生成和绘制使用PHP和JpGraph实现图表的生成和绘制Jun 25, 2023 pm 06:16 PM

在开发Web应用程序中,图表的使用非常普遍。图表可以清晰地展示数据,让用户更容易地理解和分析信息。在PHP中,可以使用JpGraph库来生成和绘制图表,这是一个功能强大的图表生成工具,支持多种类型的图表,如柱状图、饼图、折线图等。在本文中,我们将介绍如何使用PHP和JpGraph来生成和绘制图表。安装JpGraph首先,需要下载JpGraph库,并解压到本地

php dompdf中文乱码怎么办php dompdf中文乱码怎么办Jan 18, 2023 am 10:34 AM

php dompdf中文乱码的解决办法:1、打开前端文件;2、通过设置“@font-face {font-family:ttt;src: url(/static/font/simkai.ttf)}”引用中文字体;3、删除“dompdf_font_family_cache.php”即可。

php cp936 乱码怎么办php cp936 乱码怎么办Oct 21, 2022 am 09:25 AM

php cp936乱码的解决办法:1、打开相应的PHP文件;2、查找“mb_convert_encoding($str, 'UTF-8', 'CP936');”代码;3、使用“iconv('utf-8', 'latin1//IGNORE', $str);”方法进行转码即可。

css浏览器乱码怎么办css浏览器乱码怎么办Jan 28, 2023 pm 01:55 PM

css浏览器乱码的解决办法:1、将CSS指定编码类型如“@charset "utf-8"”;2、在css中使用别名,绕开使用中文,从而避免乱码,其正常代码如“font-family:"SimHei"”。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器