JpGraph使用詳解之中文亂碼解決方法
阿新 • • 發佈:2019-02-07
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也表示中文但是它們對應的字型檔案是不同的,所以不要弄錯。
轉碼後: