(PHP 4 = 4.0.6)
mb_output_handler() は、 ob_start() のコールバック関数です。 mb_output_handler() は、出力バッファの文字を内 部文字エンコーディングからHTTP出力文字エンコーディングに変換します。
4.1.0以降のバージョンでは、以下の条件が満たされた場合にこのハン ドラはcharset HTTP ヘッダを設定します。
header() で Content-Type が設 定されていない場合
デフォルトのMIME型が text/ で始まる
http_output の設定がpass以外
contents: 出力バッファの内容
status: 出力バッファのステータス
返り値: 変換後の文字列
例 1 mb_output_handler() の例
注意 PHP 4.3.0以降において、 イメージのようなバイナリデータをPHPスクリプトから出力したい場合、 バイナリデータを送信する前に header() により Content-Type: ヘッダ(例:header("Content-Type: image/png"))を送信 する必要があります。Content-Type: ヘッダが送信されると出力文字コー ド変換は無効となります。
ただし、 header() により"Content-Type: text/*" を 送信した場合(例:header("Content-Type: text/hdml"))には、テキスト が送信されるとみなし、文字コード設定に基づいて出力文字コード変換を 行います。
なお、PHP 4.3.0より前のバージョンでバイナリデータを出力する場合に は、 mb_http_output() を用いて出力エンコーディン グを"pass"に設定し、変換を無効とする必要があります。
ob_start() も参照下さい。