首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

解決 JPGraph 中文亂碼問題:DotProject 甘特圖實戰修正指南

     編輯:PHP 綜合知識

JPGraph 中文顯示異常的根因與解決方案

JPGraph 在處理中文字符時會強制轉為 UTF-8 編碼輸出,導致 Big5 或 GB2312 編碼環境下出現亂碼。核心解決思路是註釋掉相關轉碼邏輯,並指定支援中文的字體。

步驟一:修改 JPGraph 核心庫

編輯 dotproject/lib/jpgraph/jpgraph/src/jpgraph.php,找到 Convert() 函數,將中文轉碼區塊(FF_SIMSUN、FF_CHINESE 分支)完整註釋掉,保留預設返回原文本邏輯。

function Convert($aTxt,$aFF) {
    if( LANGUAGE_CYRILLIC ) { ... }
    /* 註釋起始
    elseif( $aFF === FF_SIMSUN ) { ... }
    elseif( $aFF === FF_CHINESE ) { ... }
    註釋結束 */
    else
        return $aTxt;
}

步驟二:調整 DotProject 甘特圖模組字體設定

  1. 編輯 dotproject/modules/projects/gantt.php 與 dotproject/modules/tasks/gantt.php
  2. 將所有字體檔 arialbd.ttf 替換為 simsun.ttc(新細明體)
  3. 將字體常數 FF_ARIAL 替換為 FF_SIMSUN
  4. 註釋掉 UTF-8 解碼邏輯://if ( $locale_char_set=='utf-8' && function_exists("utf8_decode") ) { ... }

完成上述修改後,重新整理頁面即可正常顯示中文甘特圖。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved