首頁 >後端開發 >PHP7 >JpGraph4.0.2中文亂碼以及在php7.0版本無法顯示的解決方法

JpGraph4.0.2中文亂碼以及在php7.0版本無法顯示的解決方法

藏色散人
藏色散人轉載
2020-05-17 17:13:543072瀏覽

1.php7.0版本無法顯示。 Methods with the same name as their class will not be constructors in a future version of PHP:

JpGraph4.0.2在PHP7.0版本無法正確顯示圖形報表。

透過php log得到以下錯誤:

JpGraph4.0.2中文亂碼以及在php7.0版本無法顯示的解決方法

修改前:

JpGraph4.0.2中文亂碼以及在php7.0版本無法顯示的解決方法

將把function LinePlot改為function __construct

修改後:

JpGraph4.0.2中文亂碼以及在php7.0版本無法顯示的解決方法

#原因:

php7.0之前可以將與類別名稱相同的方法當做構造方法。

php7.0之後將不再支援與類別名稱相同的建構方法,建構方法統一使用 __construct()。

2.中文標題亂碼

#原因:

#在JpGraph中預設是要把字串轉成utf8的,但如果你的文件本身就是utf8的,並且要用中文字體,它還會轉一遍,結果多轉了一次,就會出現亂碼。

解決方法:

使用中文的地方全部使用以下編碼進行轉換。

$graph->title->Set(iconv("UTF-8","GB2312//IGNORE","网志博客信息统计表"));
$graph->xaxis->title->Set(iconv("UTF-8","GB2312//IGNORE","X-标题"));
$graph->yaxis->title->Set(iconv("UTF-8","GB2312//IGNORE","Y-标题"));

注意事項:

使用php函資料中文由UTF-8轉為GB2312,記住由於iconv本身的一個bug,iconv在轉換字元"—"到gb2312時會出錯,所以在需要轉成的編碼後加上"//IGNORE" 。

推薦:《PHP7

以上是JpGraph4.0.2中文亂碼以及在php7.0版本無法顯示的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除