cari
Rumahpembangunan bahagian belakangtutorial phpjpgraph 汉字乱码解决方案及实例_PHP教程

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

Jul 13, 2016 pm 05:39 PM
jpgraphphpduniaWatak bercelarubuatgambarContohyawatak Cinadaripadapenyelesaian

  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中,也有一款做图表...
Kenyataan
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
Bagaimanakah anda dapat mencegah serangan penetapan sesi?Bagaimanakah anda dapat mencegah serangan penetapan sesi?Apr 28, 2025 am 12:25 AM

Kaedah yang berkesan untuk mengelakkan serangan tetap sesi termasuk: 1. Meningkatkan semula ID Sesi selepas log pengguna masuk; 2. Gunakan algoritma penjanaan ID sesi yang selamat; 3. Melaksanakan mekanisme masa tamat sesi; 4. Menyulitkan data sesi menggunakan HTTPS. Langkah -langkah ini dapat memastikan bahawa aplikasi itu tidak dapat dihancurkan apabila menghadapi serangan tetap sesi.

Bagaimana anda melaksanakan pengesahan tanpa sesi?Bagaimana anda melaksanakan pengesahan tanpa sesi?Apr 28, 2025 am 12:24 AM

Melaksanakan pengesahan bebas sesi boleh dicapai dengan menggunakan JSONWEBTOKENS (JWT), sistem pengesahan berasaskan token di mana semua maklumat yang diperlukan disimpan dalam token tanpa penyimpanan sesi pelayan. 1) Gunakan JWT untuk menjana dan mengesahkan token, 2) memastikan bahawa HTTPS digunakan untuk mengelakkan token daripada dipintas, 3) menyimpan token dengan selamat di sisi klien, 4) mengesahkan token di sisi pelayan untuk mengelakkan gangguan, 5) melaksanakan mekanisme pembatalan token.

Apakah beberapa risiko keselamatan biasa yang berkaitan dengan sesi PHP?Apakah beberapa risiko keselamatan biasa yang berkaitan dengan sesi PHP?Apr 28, 2025 am 12:24 AM

Risiko keselamatan sesi PHP terutamanya termasuk rampasan sesi, penetapan sesi, ramalan sesi dan keracunan sesi. 1. Sesi rampasan boleh dicegah dengan menggunakan HTTPS dan melindungi kuki. 2. Penetapan sesi boleh dielakkan dengan menanam semula ID sesi sebelum log pengguna masuk. 4. Keracunan sesi boleh dicegah dengan mengesahkan dan menapis data sesi.

Bagaimana anda memusnahkan sesi PHP?Bagaimana anda memusnahkan sesi PHP?Apr 28, 2025 am 12:16 AM

Untuk memusnahkan sesi PHP, anda perlu memulakan sesi terlebih dahulu, kemudian membersihkan data dan memusnahkan fail sesi. 1. Gunakan session_start () untuk memulakan sesi. 2. Gunakan session_unset () untuk membersihkan data sesi. 3. Akhirnya, gunakan session_destroy () untuk memusnahkan fail sesi untuk memastikan keselamatan data dan pelepasan sumber.

Bagaimanakah anda boleh menukar sesi simpan sesi lalai di php?Bagaimanakah anda boleh menukar sesi simpan sesi lalai di php?Apr 28, 2025 am 12:12 AM

Bagaimana cara menukar laluan penjimatan sesi lalai PHP? Ia boleh dicapai melalui langkah -langkah berikut: gunakan session_save_path ('/var/www/sesi'); session_start (); Dalam skrip PHP untuk menetapkan laluan penjimatan sesi. Tetapkan session.save_path = "/var/www/sesi" dalam fail php.ini untuk menukar laluan penjimatan sesi di seluruh dunia. Gunakan memcached atau redis untuk menyimpan data sesi, seperti ini_set ('session.save_handler', 'memcached'); ini_set (

Bagaimana anda mengubah suai data yang disimpan dalam sesi PHP?Bagaimana anda mengubah suai data yang disimpan dalam sesi PHP?Apr 27, 2025 am 12:23 AM

Tomodififydatainaphpsession, startTheSessionWithSsion_start (), thenuse $ _SessionToset, Modify, Orremovariables.1) startTheSession.2) setOrmodifySessionVariabelinging $ _Session.3) ReveVariablesWithunset ()

Berikan contoh menyimpan array dalam sesi PHP.Berikan contoh menyimpan array dalam sesi PHP.Apr 27, 2025 am 12:20 AM

Array boleh disimpan dalam sesi PHP. 1. Mulakan sesi dan gunakan session_start (). 2. Buat array dan simpan dalam $ _Session. 3. Dapatkan array melalui $ _Session. 4. Mengoptimumkan data sesi untuk meningkatkan prestasi.

Bagaimanakah pengumpulan sampah berfungsi untuk sesi PHP?Bagaimanakah pengumpulan sampah berfungsi untuk sesi PHP?Apr 27, 2025 am 12:19 AM

Pengumpulan sampah sesi PHP dicetuskan melalui mekanisme kebarangkalian untuk membersihkan data sesi yang telah tamat tempoh. 1) Tetapkan kebarangkalian pencetus dan kitaran hayat sesi dalam fail konfigurasi; 2) Anda boleh menggunakan tugas cron untuk mengoptimumkan aplikasi beban tinggi; 3) Anda perlu mengimbangi kekerapan dan prestasi pengumpulan sampah untuk mengelakkan kehilangan data.

See all articles

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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual