[PHP-users 2233] Re: phps ファイルへのアクセスについて

BosProject T.Takeuchi php-users@php.gr.jp
Tue, 25 Sep 2001 19:41:47 +0900


竹内です。

> > output_handler = mb_output_handler
> 
> が、悪さをしていたようです。GDの絵の出力にゴミが入るのを見つけて
> でやっと思いだしました。(^^;

 このアドバイスをもとにphp.iniのoutput_bufferingとoutput_handlerを
コメントアウトして、

<?php
ob_start('mb_output_handler');
mb_http_output('SJIS'); // SJISで表示しなければならない場合
?>

 という2行をスクリプトで使うことにしたところ、phpsファイルへのアクセスが
可能になり、今までのスクリプトも上記の処理を付け加えるだけで他に修正すべき
個所はありませんでした。私の場合、全てのスクリプトで利用しているライブラリの
中に上記の2行を付け加えるだけでしたので、作業自体は楽でした。

 最近は携帯用コンテンツの制作を行うことが多かったため、色々とphp.iniの
設定を見直すことが多かったのですが、今回いただいたアドバイスでようやく
一般的なパソコン用のサイトと携帯用コンテンツ(特に携帯端末特有の絵文字処理を
行う必要があるもの)を共存させるための最良と思える設定にたどり着きました。

output_buffering
output_handler    上記の通り設定なし

mbstring.http_input = pass
mbstring.http_output = (私の場合はEUC-JP。mb_http_output()関数で変更可能)

 mbstring.internal_encodingはこのような設定にした場合、指定する必要が
ないと思うのですが、いかがでしょうか。mbstring.http_inputがautoの場合には
自動的に内部コードに変換してくれるようですが、i-mode等の絵文字が入力される
ことがある場合には、文字化けの原因になってしまいますよね。私的には内部
エンコーディングも自動的に変換してくれる方が楽で良いんですけどね。

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
合資会社ボスプロジェクト
竹内 輝明 webmaster@bos-project.com
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*