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

2020-07-16 10:06:14
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得到如下錯誤:

8da59863e4e9bc8210d04dd23c51d90.png

修改前:

7f5f9f8d68f173b3b72dbf08c7c53ad.png

將把function LinePlot改為function __construct

修改後:

842d9ac5d843097676a559c0a137fe1.png

原因:

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版本無法顯示的解決辦法的詳細內容,更多請關注TW511.COM其它相關文章!