TAMURA Toshihiko
tamur****@bitsc*****
2003年 2月 25日 (火) 09:40:41 JST
こんにちは、田村です。 後藤さん: > >20021230版の日本語バージョンでは、mb_substr() で、第2引数までしか使わ > >れていませんが、当方の環境(PHP-4.3.0 & ZendOptimizer)では、第3引数に、 > >EUC-JPを指定しないと正常に処理を行なってくれないようです。PHP-4.2.3 & > >APCの環境では問題無く処理してくれます。 > > これって単に、mbstringの内部エンコーディングのデフォルトが変わっただ > けなんじゃないでしょうか? そうなんでしょうね。 PHPの最近のバージョンでは、内部エンコーディングに SJISも使えるみたいですね。 今後は、異なった内部エンコーディングのアプリケーションが サーバの中で混在する場面も出てくるのかもしれません。 内部エンコーディングは、php.ini か、.htaccess か、 どこかのレベルでを指定する必要はあるんですが、 osCommerceはEUC-JPを使うことになりますから、 無用なトラブルを避けるには、次のどちらかで指定してしまうのが いいと思うんです。 o mb_internal_encoding() で一括して指定する o 個々のmbstring関数で指定する それで、(どちらでもいいようなものなんですが) o mbstring関数の有無を判別をする箇所で、 mb_internal_encoding() で内部エンコーディングを指定する。 o 個々のmbstring関数では内部エンコーディングを指定しない。 ということではどうでしょうか。 > 田邉さん # この方が指定が徹底できると思いますので。 -- 田村敏彦 / 株式会社ビットスコープ E-mail:tamur****@bitsc***** http://www.bitscope.co.jp/