[PHP-users 16039]gd2で日本語文字化け

菅本理沙 risa-sugamoto @ arduc.co.jp
2003年 6月 19日 (木) 16:43:59 JST


はじめまして。elmoと申します。
大変困っているので、お力をお貸しください。

-----------------------------
 環境
-----------------------------
・Windows2000 Pro SP3
・Apache 1.3.27
・PHP 4.3.2(php_gd2.dll)
-----------------------------
 GD 設定
-----------------------------
GD Support  enabled
GD Version  bundled (2.0.12 compatible)
FreeType Support  enabled
FreeType Linkage  with freetype
GIF Read Support  enabled
JPG Support  enabled
PNG Support  enabled
WBMP Support  enabled
XBM Support  enabled

GDを使ってイメージファイル(.png)を作成しているのですが、
日本語が文字化けしてしまいます。
-----------------------------
ソース
-----------------------------
<?php
 Header ("Content-type: image/png");
 $im = imagecreate (400, 30);
 $white = ImageColorAllocate ($im, 255, 255, 255);
 $black = ImageColorAllocate ($im, 0, 0, 0);
 $place = mb_convert_encoding("ABC日本語","UTF-8","SJIS");
 ImageTTFText ($im, 20, 0, 10, 20, $black,
"c:\winnt\fonts\msgothic.ttc",$place);
 ImagePng ($im);
 ImageDestroy ($im);
?>
結果:"ABC・・・・・"

しかし同じ環境でPHPのみ
・PHP 4.2.1(php_gd.dll)
に置き換えると日本語はきちんと表示します。
また
・PHP 4.3.2(php_gd.dll)←GDだけ古いバージョン
にしても日本語は表示できました。

これはphp_gd2.dllにバグがあるということなのでしょうか?
それとも設定ORプログラムが悪いのでしょうか・・・。
そもそもphp_gd2.dllになって何が変わったのか、
インターネット等で探したのですが見つからずわかりませんでした。

お分かりになる方、教えていただけると大変助かります。
よろしくお願いします。




PHP-users メーリングリストの案内