[PHP-users 16407]Re: [PHP-users16404]ホスティングサービスにおけるPHPの設定ポリシーについて

Y.Watanabe yuw @ msj.biglobe.ne.jp
2003年 7月 2日 (水) 22:42:57 JST


わたなべです。

"yuusuke satou" wrote on 2003/07/02 21:46
with Subject: [PHP-users 16404]ホスティングサービスにおけるPHPの設定ポリシー
について

> 日本語処理関係の拡張オプションを有効にしているのですが、
> (--enable_mbstring にて、mb_*() 関数群を使用できるように)
> その際以下のphp.iniで最低限これは有効化にしないとだめ
> であろうという設定、また設定推奨値を教えて頂けませんでしょうか?

逆に、「わざと何も設定しておかない」という手もあります。
つまり、以下のとおり、すべてコメントアウトした
状態にしておくということです。

#あくまでもいくつかある選択肢のひとつとしてとらえてくださいね。

> [mbstring]
> ;mbstring.language = Japanese
> ;mbstring.internal_encoding = EUC-JP
> ;mbstring.http_input = auto
> ;mbstring.http_output = SJIS
> ;mbstring.encoding_translation = Off
> ;mbstring.detect_order = auto
> ;mbstring.substitute_character = none;
> ;mbstring.func_overload = 0


mbstring関係の設定は、php.iniに書く以外に、
○ ini_set(hoge,"hoge")のようにスクリプト内で
    ini_set関数を使う
○ 例えば mb_language()など、mbstring関連の設定のために
    用意された専用関数を使う

といった方法をとることができます。

もしもphp.iniに
mbstring.internal_encoding = SJIS
と設定したとしても、ホスティングサービスの利用者から
「ウチって既にEUCで書いたコンテンツ/スクリプトが
  いっぱいあるんだけどこれ全部SJISに書き直せっていうのかよ?」
とブツクサ文句言われる可能性があります(笑)

だったらいっそ、

「何も設定してません。
  ですからお客様の設計方針と既存のコンテンツ/スクリプトにあわせ、
  スクリプトの最初の方でmb_language()なりmb_http_output()なりを
  コールするようにしてください。詳しくは
  http://www.php.net/manual/ja/ref.mbstring.php をどうぞ
  」

という風に資料に説明することで
解決するというのもありうるということです。

#以降、細かいツッコミは識者に委ねるとしましょう。
#おやすみなさい^^;)/



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