[PHP-users 3455] php-4.0.8-dev-win版のmbstringの設定について

al-kamil php-users@php.gr.jp
Fri, 09 Nov 2001 14:47:39 +0900


森田です。

Windowsのphp4.0.8-devをダウンロードしてIIS4の環境で利用しているのですが
mbstringのmb_encode_mimeheader関数でiso-2022-jpに変換をし、それを
mb_decode_mimeheader関数で戻してみたのですが正しく表示できません。
どちらがおかしいのかと思い、メールのヘッダーを使ってデコードを
行うと正常に表示されました。
それで、設定に問題があるのではと思い
phpのマニュアルのページでphp.iniの設定を真似て設定したのですが
それでも変換がうまくいきません
Windows環境でmbstringの設定をお教え願えないでしょうか?
よろしくお願いします。

実際、プログラムした方法は、以下の通りです。
<?
$name = "森田";
$addr = mb_encode_mimeheader($name, "ISO-2022-JP", "B");
echo $addr . "<br>\n";
$addr = mb_decode_mimeheader($addr);
echo $addr . "<br>\n";
?>
エンコードの結果は見た目、正常に変換されているように見えますが
デコードすると、”森田”と表示されず。"Xc・"のような感じで表示されます。

また、設定をいじったあとで、base64_encodeを使って変換しても
デコードに失敗します。
それで、初期状態にして動かすと正常に変換されました。
でも、mb_encode_mimeheaderは正常に動作しません。
<?
$str = base64_encode("森田");
echo $str ."<br>\n";
$str = base64_decode($str);
echo $str ."<br>\n";
?>

よろしく、ご指導のほどお願いいたします。