ホームページ  >  記事  >  バックエンド開発  >  phpのjpgraphが文字化けする問題を解決する方法

phpのjpgraphが文字化けする問題を解決する方法

藏色散人
藏色散人オリジナル
2020-08-21 10:53:102329ブラウズ

php jpgraph 文字化けの解決策: 1. タイトル文字化け問題を解決するためにタイトルのフォントを変更します; 2. "jpgraph_legend.inc.php" ファイルを変更し、関連する属性を public に設定します。

phpのjpgraphが文字化けする問題を解決する方法

# 推奨: 「

PHP ビデオ チュートリアル

最近、プロジェクトのニーズにより、描画の問題を解決するために php の JpGraph プラグインが使用されました。この期間中に、特に次のような多くの問題に遭遇しました:

1. Composer パッケージ マネージャーを使用してインストールおよびロードする方法。
2. 図面(タイトルと凡例)の漢字が文字化けする問題の解決方法

JpGraph のインストールにはcomposer が便利です。私はバージョン "jpgraph/jpgraph":"4.0.2" を使用しています。 。


composer update を実行してインストールします

使用上の問題:

JpGraph::load(); JpGraph::module('line'); <br><br> 最初にload()関数を実行する必要があります。load()関数にはmain関数が含まれます。折れ線グラフを描画するときは、次のことを行う必要があります。別のファイルを導入します。 jpgraph_line.php では、現時点では
JpGraph::module('line') メソッドを使用して関数を導入する必要があり、エラーは報告されません。php7 バージョンには、次の警告プロンプトが表示されます。構築方法、および構成エラー プロンプト レベルは無視されます。

class JpGraph {
    static  $loaded = false ;
    static  $modules = array();
    static function load(){
        if(self::$loaded !== true){
            include_once __DIR__.&#39;/jpgraph/src/jpgraph.php&#39;;
            self::$loaded = true ;
        }
    }
    static function module($moduleName){
        self::load();
        if(!in_array($moduleName,self::$modules)){
            $path = __DIR__.&#39;/jpgraph/src/jpgraph_&#39;.$moduleName.&#39;.php&#39; ;
            if(file_exists($path)){
                include_once $path ;
            }else{
                throw new ModuleNotFoundException(&#39;The JpGraphs\&#39;s module "&#39;.$moduleName.&#39;" does not exist&#39;);
            }
        }
    }
}

コードの文字化け問題

タイトルやロゴが表示されると文字化けする ブログの解決策をたくさん調べてみましたが、ほとんどの解決策はタイトルのフォントを変更することでタイトル文字化けの問題を解決しました。

$graph->title->SetFont(FF_SIMSUN,FS_BOLD); タイトルの文字化け問題を解決できます:

phpのjpgraphが文字化けする問題を解決する方法

凡例 解決策は、composer の基礎となるコードを変更することです。

jpgraph_legend.inc.php ファイルを変更しました。
class Legend クラスには次の文があります

private $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12;

#private $font_family=FF_SIMSUN, $font_style =FS_NORMAL,$font_size=8;

既存のコードの最新バージョンでは、この属性が public に設定されています。
#$graph->legend->font_family = FF_SIMSUN;
ステートメントを使用してフォントを変更できます。フォント設定コマンド 画像を出力する前に実行するだけで、ソースコードを変更することなく、

$graph->title->SetFont(FF_SIMSUN,FS_BOLD);
       $graph->legend->font_family = FF_SIMSUN;

       $image_file = $path;
       return $graph->Stroke($image_file);
で中国語フォントの文字化けの問題を完全に解決できます。

ここでは、フォント ファイルを

/usr/share/fonts/truetype

パスに配置することに特に注意してください。 phpのjpgraphが文字化けする問題を解決する方法次の 2 つのファイルを配置する必要があります:
simhei.ttfsimsun.ttc

# #

以上がphpのjpgraphが文字化けする問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。