Rumah php教程 php手册 jpgraph 汉字乱码解决方案及实例

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

Jun 13, 2016 am 10:38 AM
jpgraph php dunia Watak bercelaru buat gambar Contoh ya watak Cina daripada penyelesaian

  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>
Salin selepas log masuk

  注意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,这样你的汉字才可以正常显示。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles