1. 程式人生 > >JpGraph使用詳解之中文亂碼解決方法

JpGraph使用詳解之中文亂碼解決方法

JpGraph為什麼會出現中文亂碼

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

解決亂碼:

//設定圖表的標題字型、大小
$graph->title->Set("網誌部落格資訊統計表");
$graph->xaxis->title->Set("X-標題");
$graph->yaxis->title->Set("Y-標題");

//和上面標題對應,設定標題的字型和大小
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph
->yaxis->title->SetFont(FF_FONT1,FS_BOLD); $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);

改為

//設定圖表的標題字型、大小
$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-標題")); //和上面標題對應,設定標題的字型和大小 $graph->title->SetFont(FF_SIMSUN,FS_BOLD); $graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD); $graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);

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

FF_SIMSUN表示中文簡體,對應的字型檔案是simsun.ttc,雖然FF_CHINESE和FF_BIG5也表示中文但是它們對應的字型檔案是不同的,所以不要弄錯。

轉碼後:
轉碼