ホームページ > バックエンド開発 > PHPの問題 > PHP PDFの中国語文字化けを解決する方法

PHP PDFの中国語文字化けを解決する方法

藏色散人
リリース: 2023-03-11 18:32:01
オリジナル
3474 人が閲覧しました

php PDF 中国語文字化けの解決策: 1. "tcpdf/config/tcpdf_config.php" に "require_once(dirname(FILE).'/lang/chi.php');" を追加します; 2. 定義された内容を変更します2 つの定数の値。

PHP PDFの中国語文字化けを解決する方法

#この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 パソコン

php 中国語の解き方garbled pdf?

php が pdf を生成します 文字化け?php tcpdf が pdf を生成します: 中国語の文字化け

TCPDF は PDF を生成するための優れたライブラリです。残念ながら、東アジアのフォントは公式にサポートされていません。中国語も含めてあまり上手ではありません。

シナリオ: 特定のプロジェクトでは、データベース情報に基づいて PDF 形式で請求書を生成する必要があります。安定した tcpdf の使用を検討してください。他にも多くのオプションがありますが、これを最初の選択肢にする必要があります。理由は述べません。 。

しかし、あることに気づきました。請求書に中国語の情報があると、文字化けして疑問符として表示されます。

Google で検索して少し勉強しました。

TCPDF は、ttf などの一般的な一目瞭然の標準を採用せず、特殊なフォント形式を使用します。Google のいたるところにコピーされた記事があり、中国語をサポートする Droid Sans を使用する必要があります。また、tcpdf と書かれています。確かに、fonts フォルダーの下に utils ディレクトリがあり、その下に ttf2num.exe があります。おそらく、これは tcpdf の古いバージョンにありますが、私がダウンロードした 6.0.X バージョンにはありません

#しかし、多くの困難と危険を乗り越えた後、最終的に Droid Sans を TCPDF で受け入れられるフォント形式に変換しました (変換されたフォントをダウンロード: http://pan.baidu.com/s/1bnq21Ld)。

tcpdf の本体ファイルは ASCII エンコードを使用していますので、勝手に UTF-8 形式に変更しないでください。

tcpdf に渡されるデータは utf-8 形式であってはなりません。そうしないと、中国語エラーが発生します。

ダウンロードしたフォント圧縮パッケージを上記で解凍し、3 つのファイルを取得します:

droidsansfallback.php、droidsansfallback.z、droidsansfallback.ctg.z これら 3 つのファイルを tcpdf /fonts ディレクトリにコピーします。

#個人テスト、この行は必要ありません

上記の点に加えて、tcpdf/config/tcpdf_config.php に次の内容を追加する必要もあります:

require_once(dirname(FILE).’/lang/chi.php’);
ログイン後にコピー

Modifyこのファイルの 2 つの定数の定義値は次のとおりです:

define (‘PDF_FONT_NAME_MAIN’, ‘droidsansfallback’);
define (‘PDF_FONT_NAME_DATA’, ‘droidsansfallback’);
ログイン後にコピー

OK、すでに中国語を含む PDF ドキュメントの出力をサポートしています。

推奨学習: 「

PHP ビデオ チュートリアル

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート