日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【原创】jpgraph中文乱码问题的解决

發布時間:2023/12/2 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【原创】jpgraph中文乱码问题的解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php jpgraph庫非常強大,可以在后臺生成圖片

后臺生成在需要導出圖表型報告的時候非常有用,當然,前端的可視化還是要用highcharts/echarts/anycharts等類庫

比較麻煩的是中文亂碼問題,有3個地方亂碼:

  • legend
  • setStickLabels
  • title

先說明下我的環境和版本:

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

原創文章,轉載請注明:http://www.cnblogs.com/phpgcs/

上面的解決方法,我是參考了:

http://blog.csdn.net/yiping1980/article/details/6023144

然后后面的2個我認為就是找到title/stickLabels源碼的地方,將 FF_DEFAULT 改為 FF_SIMSUN 即可

后來證明果然是這樣,而且方便的是 這2個家伙都在 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_BOLD

stickLables 亂碼

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;

還有個地方也有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;

總結:

  • 找到相關的源碼(FF_DEFAULT)
  • 修改 jpgraph_ttf.inc.php, $aFF === FF_SIMSUN 則直接返回 $aTx

原創文章,轉載請注明:http://www.cnblogs.com/phpgcs/

轉載于:https://www.cnblogs.com/phpgcs/p/jpgraph_chinese_messy_code.html

總結

以上是生活随笔為你收集整理的【原创】jpgraph中文乱码问题的解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。