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

al-kamil php-users@php.gr.jp
Fri, 09 Nov 2001 15:59:33 +0900


森田です。

> > phpのマニュアルのページでphp.iniの設定を真似て設定したのですが
> > それでも変換がうまくいきません
> 
> 実際にどのような設定をされたのでしょうか?

設定した内容は、PHPのmbstringのマニュアルのページで書かれていた
内容をまねしました。
設定した内容は。以下の通りです。

output_buffering = On
  :
output_handler = mb_output_handler
  :
  :
default_charset      = "Shift_JIS"
  :
  :
extension=php_iisfunc.dll
extension=php_imap.dll
;extension=php_ingres.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_mcrypt.dll
  :
  :
[mbstring]
mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
mbstring.http_output = SJIS
;mbstring.detect_order = auto
mbstring.substitute_character = none;

この設定では、何か不足しているでしょうか?
現在はデフォルトの状態で、extensionsのmbstringのDLLを以下ように
変更しています。それ以外は、なにも触っていません。

extension=php_mbstring.dll


> ここで、
> <?
> $name = "森田";
> echo $addr . "<br>\n"; // <= これを追加
> $addr = mb_encode_mimeheader($name, "ISO-2022-JP", "B");
> echo $addr . "<br>\n";
> $addr = mb_decode_mimeheader($addr);
> echo $addr . "<br>\n";
> ?>
> としたばあい、正常に「森田」と表示されるのでしょうか?

はい、正しく「森田」と表示されます。

> また、ソースの中の文字列をエンコード・デコードするのではなく、外部から
> POSTもしくはGETで渡された文字列をエンコード・デコードした場合はどうなる
> のでしょうか?

POST、GETでは試していません。mbstringをwindowus環境で利用できるかの
調査を行っていてうまく変換出来なかったので質問いたしました。

よろしくお願いいたします。