【原创】jpgraph中文乱码问题的解决
php jpgraph庫(kù)非常強(qiáng)大,可以在后臺(tái)生成圖片
后臺(tái)生成在需要導(dǎo)出圖表型報(bào)告的時(shí)候非常有用,當(dāng)然,前端的可視化還是要用highcharts/echarts/anycharts等類(lèi)庫(kù)
比較麻煩的是中文亂碼問(wèn)題,有3個(gè)地方亂碼:
- legend
- setStickLabels
- title
先說(shuō)明下我的環(huán)境和版本:
- Ubuntu12.04
- PHP 5.3.10-1
- Jpgraph 3.5.0b1
- 文件fileencoding=utf-8
Legend 亂碼
//jpgraph_legend.inc.php3 class Legend {2 public $txtcol=array();1 //public $font_family=FF_DEFAULT,$font_style=FS_NORMAL,$font_size=8; // old. 120 public $font_family=FF_SIMSUN,$font_style=FS_NORMAL,$font_size=8; // old. 12記得下載一份 simsun.ttc 放到 /usr/share/fonts/truetype
//jpgraph_ttf.inc.php9 elseif( $aFF === FF_SIMSUN ) {8 // Do Chinese conversion 7 /*6 if( $this->g2312 == null ) {5 include_once 'jpgraph_gb2312.php' ;4 $this->g2312 = new GB2312toUTF8();3 }2 return $this->g2312->gb2utf8($aTxt);1 */0 return $aTxt; 1 }原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明:http://www.cnblogs.com/phpgcs/
上面的解決方法,我是參考了:
http://blog.csdn.net/yiping1980/article/details/6023144
然后后面的2個(gè)我認(rèn)為就是找到title/stickLabels源碼的地方,將 FF_DEFAULT 改為 FF_SIMSUN 即可
后來(lái)證明果然是這樣,而且方便的是 這2個(gè)家伙都在 jpgraph.php 文件中
直接
:%s/FF_DEFAULT/FF_SIMSUN/g就搞定了
title 亂碼
2 $this->title = new Text();1 $this->title->ParagraphAlign('center');0 //$this->title->SetFont(FF_DEFAULT,FS_NORMAL); //FF_FONT2, FS_BOLD 1 $this->title->SetFont(FF_SIMSUN,FS_NORMAL); //FF_FONT2, FS_BOLDstickLables 亂碼
5 class AxisPrototype {4 public $scale=null;3 public $img=null;2 public $hide=false,$hide_labels=false;1 public $title=null;0 public $font_family=FF_DEFAULT,$font_style=FS_NORMAL,$font_size=8,$label_angle=0;還有個(gè)地方也有FF_DEFAULT,
5 class DisplayValue {4 public $margin=5;3 public $show=false;2 public $valign='',$halign='center';1 public $format='%.1f',$negformat='';0 private $ff=FF_DEFAULT,$fs=FS_NORMAL,$fsize=8;總結(jié):
- 找到相關(guān)的源碼(FF_DEFAULT)
- 修改 jpgraph_ttf.inc.php, $aFF === FF_SIMSUN 則直接返回 $aTx
原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明:http://www.cnblogs.com/phpgcs/
轉(zhuǎn)載于:https://www.cnblogs.com/phpgcs/p/jpgraph_chinese_messy_code.html
總結(jié)
以上是生活随笔為你收集整理的【原创】jpgraph中文乱码问题的解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle instr查询字符串
- 下一篇: 最短路径--Floyd算法