ホームページ  >  記事  >  バックエンド開発  >  JpGraph4.0.2 php7.0版で表示できない中国語文字化けと解決方法

JpGraph4.0.2 php7.0版で表示できない中国語文字化けと解決方法

藏色散人
藏色散人転載
2020-05-17 17:13:543038ブラウズ

1.php7.0バージョンではを表示できません。クラスと同じ名前のメソッドは、PHP の将来のバージョンではコンストラクターになりません:

JpGraph4.0.2 は、PHP7.0 バージョンではグラフィカル レポートを正しく表示できません。

php ログから次のエラーが取得されました:

JpGraph4.0.2 php7.0版で表示できない中国語文字化けと解決方法

変更前:

JpGraph4.0.2 php7.0版で表示できない中国語文字化けと解決方法

は変更されますLinePlot 関数を関数 __construct

に変更しました 変更後:

JpGraph4.0.2 php7.0版で表示できない中国語文字化けと解決方法

理由:

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 自体のバグにより、iconv は文字 " を変換するときにエラーが発生することに注意してください。 —" を gb2312. に変換するため、変換するエンコーディングの後に "//IGNORE" を追加します。

推奨:「PHP7

以上がJpGraph4.0.2 php7.0版で表示できない中国語文字化けと解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。