- 締切済み
マルチバイト文字を画像に書き込みたい
いつもお世話になっています。 画像に文字を書き込むプログラムを作成中なのですが、 日本語を書き込もうとすると文字化けを起こしてしまいます。 文字は、EUC-JPで処理するようにしています。 【index.php】にHTMLでフォームから値(文字列やフォントなど)をとり、 【a.php】で画像に文字を書き込む処理をし、 【index.php】で作成した画像を表示させるプログラムです。 マルチバイト文字を送信する際に、 $text=rawurlencode($text); 【index.php】 をし、【a.php】では、 $text=$_GET['text']; $text=rawurldecode($text); をして、 imagettftext($im, $fontsize, 0, 12, $fontsize+8, $color, $font, $text); 書き込みを行っています。 マルチバイト文字を送信する際にこの方法が出来ない場合、他に方法があるのでしょうか?? 開発環境は、Windows XP、PHP5.2.5,Apache2.2です。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- memphis
- ベストアンサー率40% (975/2395)
回答No.1
使っているGDを日本語対応したものを使わないとダメです。 UNIXならあるのは知っていますが、Windows用は知りません。
お礼
回答ありがとうございます。 UNIXはあるんですね! Windows用はわからないですか・・・ PHPのextというフォルダに【php_gd2.dll】があるのですが、 これは日本語対応ではないんですかね…? 調べてみようと思います^^
補足
自己解決しました^^ エンコード・デコードではなく、修正前は、 $text = mb_convert_encoding($text, "EUC-JP", "auto"); でプログラムを作成していたのですが、 $text = mb_convert_encoding($text, "UTF-8", "auto"); に変更したら日本語も画像に書き込むことが出来ました。