ホームページ >バックエンド開発 >PHPの問題 >phpでgd2の中国語文字化けが出る原因は何ですか?

phpでgd2の中国語文字化けが出る原因は何ですか?

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-04-14 11:36:282124ブラウズ

gd2 の中国語文字化けが php に表示される理由: 1. サーバーのエンコーディングが、gd2 の「imagettftext()」関数のデフォルトのエンコーディングと異なります。関数のデフォルトのエンコーディングは UTF8 です。 2. gd ライブラリが正しい TTF フォント ファイルを選択しないため、gd2 が漢字を出力する場合は、正しいフォント ファイルを選択する必要があります。

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター。

php gd2 で中国語文字化けが発生する理由

1. サーバーエンコードの理由。 imagettftext関数の文字列パラメータのデフォルトのエンコーディングはUTF8であるため、サーバーのエンコーディングが統一されておらず、対応する文字エンコーディング形式の変換が行われていない場合、gd2を使用して画像を出力すると漢字が文字化けしやすくなります。

2. 正しい TTF フォント ファイルが選択されていません。 gd2 を使用するときに中国語の文字を出力したい場合は、正しい TTF フォント ファイルを選択する必要があります。

php gd2 中国語文字化けコード解決方法

以前紹介した php gd2 が中国語文字化けコードを生成する原理に従って、php gd2 中国語文字化けコードを解決する方法は、実際には非常に簡単です。単純。

1. サイト全体で UTF8 エンコーディングを使用することをお勧めします。すでに GB2312 または GBK エンコーディングを使用している場合は、iconv またはカスタムの gb2312 および utf8 変換関数を使用して文字エンコーディングを変換してください。 gb2312 および utf8 の変換関数については、PHP Ajax 値転送での漢字化け問題の解決方法を参照してください。

2. PHP 環境をセットアップしたばかりの場合は、Apache 構成ファイルのデフォルトの文字セットを UTF8 (AddDefaultCharset UTF8) に変更することをお勧めします。

3. 上記の方法が機能しない場合は、gd2 のコンパイル時に –enable-gd-jis-conv オプションを追加したかどうかを確認してください。このオプションは、gd2 が日本語エンコードされたフォントをサポートできるようにするためのものです。キャンセルしてください。このオプションを選択して再コンパイルします。私はこの方法を検証していませんが、主に Unix 上で PHP 環境をインストールおよび構成するために使用されると推測されます。 Windows環境では通常このような状況は発生せず、デフォルトのPHP設定ファイルがコメントアウトされているようです。

4. php gd ライブラリを使用すると中国語の文字化けが発生するもう 1 つの理由は、正しい TTF フォントが選択されていないことです。中国語をサポートするフォントを選択する必要があります。一般的に使用される中国語フォント ファイルは simsun です。 ttcとsimhei.ttf。

OK、上記の方法に従えば、基本的にphp gd2を使用した中国語の文字化けは解決できます。よく確認すれば、gd2の中国語文字化けを解決するには実はとても便利です。

推奨学習: php ビデオ チュートリアル

以上がphpでgd2の中国語文字化けが出る原因は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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