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

al-kamil php-users@php.gr.jp
Mon, 12 Nov 2001 18:01:46 +0900


森田です。

mbstringのエンコード/デコードが正常に出来るようになりました。
結果からご報告すると、IISを使用している場合、
php.iniのmbstring.internal_encodingの設定を
SJISにするだけでよいみたいです。
phpマニュアルのマルチバイト文字列関数に書いてあった、
SJISの場合の設定はwindowsのことを書いてあるわけではなかったんですね。
それに気づくまでに時間が掛かってしまい、
皆様に大変ご迷惑をおかけしました。
本当にありがとう御座いました。

ただ、まだよくわからない点がいくつかあります。
マニュアルに書いてある、以下の点は項目はWindows版では
どのように設定するのがベストなのでしょう?
================================================================
;; 出力のバッファリングを有効に
output_buffering     = On
;; 出力の変換を有効にするために mb_output_handler を設定
output_handler       = mb_output_handler
;; HTTPヘッダ charset を設定
default_charset      = Shift_JIS
;; HTTP入力エンコーディング変換をautoに設定
mbstring.http_input  = auto 
;; SJISに変換
mbstring.http_output = SJIS    
;; 内部エンコーディングをEUC-JPに設定
mbstring.internal_encoding = EUC-JP <==== ここをSJISに変更 
;; 無効な文字を出力しない
mbstring.substitute_character = none   
================================================================
default_charsetをShift_JISにかえても、
base64のエンコード/デコードは、mbstringのエンコード/デコードと
異なる結果を返します。
ただ。base64のエンコードしたものはbase64のデコードをすれば
正常に変換され、mbstringのエンコードしたものはmbstringのデコードを
すれば正常に変換されます。その点だけがよくわかりません。

それと、皆さんがよく書かれているphp4.1.0とかphp4.2.0というのは
次期バージョンのことなのでしょうか?
現在のバージョンは、php4.0.Xで間違っていないですよね。
PHPのホームページで見つけることが出来なかったので
ちょっとパニックになってしまいました。

あとひとつ気になったのが、php4.0.8-dev-winを動作させていて
IISのサービスを停止させて起動させるとWWWが正常に動作しません。
Windows自体の再起動をすると正常に動作するといった
状態になってしまいます。
php4.0.7-dev-winの場合は、IISのサービスを停止させて起動させても
正常に動作します。これは、まだ、php4.0.8-dev-winが開発途中だから
なのでしょうか?すこし気になったもので...

mbstringの件につきましては、本当にありがとうございました。