PHP の GD 関数 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 になり、中国語が正常に表示されるようになります~

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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