search
HomeBackend DevelopmentPHP Tutorialjpgraph Chinese character garbled solutions and examples_PHP tutorial
jpgraph Chinese character garbled solutions and examples_PHP tutorialJul 13, 2016 pm 05:39 PM
jpgraphphpworldGarbled charactersDopictureExampleyesChinese characterofsolution

JPGRAPH is a very convenient tool for making various charts in the PHP world, such as bar charts, pie charts, radar charts, etc. It can basically do everything for all charts.

In PEAR, there is also a charting tool called image_graph. This tool is also very powerful, but the biggest advantage of jpgraph compared with image_graph is that there are many examples and very detailed documentation, which makes jpgraph is quite convenient to use.

Finally decided to use jpgraph.

The following is a piece of code. At the same time, I encountered the problem of garbled Chinese characters during use. The reason has been found and I will explain it to everyone.

If you encounter any problems when using jpgraph, you can email me and we will discuss it. At the same time, if you have any experience using it, I hope you can post it on LAMPER so that more people can share your experience.

<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>

Pay attention to the SetFont method. If your file encoding is gb2312, the first parameter of the SetFont method is FF_SIMSUN to display Chinese characters normally

If your file is encoded as utf-8, you need to add $title = iconv("UTF-8", "gb2312", $title)

In jpgraph.php, there is such a statement:

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

That is to say, when jpgraph displays Chinese characters by default, it regards the Chinese character encoding as gb2312 and converts it to utf-8 before displaying it.

In this case, if your file encoding is gb2312, the first parameter of the SetFont method is FF_SIMSUN

If you use UTF-8 encoding, you need to convert the Chinese character encoding to gb2312 first, so that your Chinese characters can be displayed normally.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/486315.htmlTechArticleJPGRAPH is a very convenient tool for making various charts in the PHP world, such as bar charts, pie charts, radars Charts, etc., basically omnipotent for all charts. In PEAR, there is also a tool for making charts...
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact 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”即可。

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

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

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);”方法进行转码即可。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools