ホームページ バックエンド開発 PHPチュートリアル PHP の GD 関数 imagettftext() はデフォルトの文字エンコーディングに注意する必要があります_PHP チュートリアル

PHP の GD 関数 imagettftext() はデフォルトの文字エンコーディングに注意する必要があります_PHP チュートリアル

Jul 13, 2016 pm 05:37 PM
imagettftext php 関数 関数 存在する キャラクター 小さい 開発する 知らせ コーディング 欲しい デフォルト

私たちは最近、メンバー情報に基づいてテキスト付きの画像を自動的に生成する、パーソナライズされたフォーラムの署名に似た小さな機能を開発しています。画像の結合は imagecopy() や imagecopyresampled() などの関数を使用して行うことができますが、テキストを描画する場合には問題が発生します。テキスト テンプレートはテキスト ファイルに保存されます。プログラムはまずファイルを読み取り、その中の変数をデータに置き換えます。次に、imagettftext() 関数を使用して画像上に描画します。@_@ 残念ながら、描画された画像は文字化けします。 ...そこで、Google で関連する問題を検索したところ、imagettftext() 関数で渡される文字列は UTF-8 でエンコードする必要があるとほとんどの人が言っており、公式の PHP マニュアルにも「UTF-8 でエンコードされた文字列」と明記されていることがわかりました。 「直接渡せる」のですが、問題はテンプレートファイルのエンコードが元々UTF-8になっており、少々不可解です。困ったので、EmEditor で元のテンプレートファイルを開き、別のエンコードに変換して、GD が出力した文字化けしたコードと比較してみたところ、EUC-JP エンコードに変換すると文字化けしたコードと一致することが分かりました。 GD による出力...つまり、ここのサーバー上の GD のデフォルトのエンコーディングは EUC-JP であり、これは日本語エンコーディングです。 php.ini の設定を検索しましたが、関連するオプションが見つからなかったので、このデフォルトのエンコーディングはどこに設定されているのかという別の疑問が生じました。 PHP のコンパイル パラメータに非常に疑わしい「--enable-gd-jis-conv」パラメータがあることを発見したのは、Si Wen の弟 Niu でした。Google は、このコンパイル パラメータに関連する多くの文字化けの問題を発見しました。パラメータの説明 「GD: JIS マップされた日本語フォントのサポートを有効にする」です。これは、GD が日本語でエンコードされたフォントをサポートすることを意味します (くそー、なぜ中国語でエンコードされたフォントをサポートするコンパイル オプションがないのですか...PHP も区別しますか) Nationality = =b)、率直に言えば、これを有効にします。このオプションが有効な場合、GD は、TTF フォントの 127 を超える部分 (つまり、標準のラテン フォントに属さない部分) をマップします。すると、中国語フォントのマッピングに使用すると、当然文字化けします。面倒な作業はせずに、このオプションを削除して再コンパイルすると、問題は解決します。このオプションを削除すると、imagettftext() のデフォルトのエンコーディングが UTF-8 になり、中国語が正常に表示されるようになります~

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486556.html技術記事私は最近、メンバー情報に基づいてテキストを含む画像を自動的に生成する、フォーラムの個人署名に似た小さな機能を開発しています。画像のステッチングは imagecopy() と...を使用します
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

See all articles