【PHP8.x】mb_http_output関数の使い方

作成日: 更新日:

mb_http_output関数は、HTTP出力に使用する文字エンコーディングを設定、または取得する関数です。WebアプリケーションがブラウザへHTMLなどのコンテンツを送信する際、Content-Type HTTPヘッダに文字エンコーディングを指定する必要がありますが、この関数はその値を制御します。引数に "UTF-8" や "SJIS-win" といった有効な文字エンコーディング名を文字列として渡すことで、HTTP出力のエンコーディングが設定され、成功した場合は true、失敗した場合は false を返します。引数を指定せずにこの関数を呼び出すと、現在設定されている文字エンコーディングの名前を文字列として取得できます。この設定は、php.inioutput_handler ディレクティブに mb_output_handler が指定されている場合に特に重要となります。この場合、PHPスクリプトの出力内容は、ここで設定された文字エンコーディングに自動的に変換されてからブラウザに送信されるため、文字化けを防ぐ上で重要な役割を果たします。なお、header() 関数で明示的に Content-Type ヘッダを指定した場合は、そちらの設定が優先されます。

基本的な使い方

構文(syntax)

mb_http_output(?string $encoding = null): string|bool

引数(parameters)

?string $encoding = null

  • ?string $encoding = null: HTTP出力のエンコーディングを指定する文字列。省略した場合、現在のHTTP出力エンコーディングが使用されます。

戻り値(return)

string|bool

この関数は、HTTP出力のエンコーディングを設定または取得します。設定時、成功した場合はtrue、失敗した場合はfalseを返します。取得時、現在のエンコーディング文字列を返します。

【PHP8.x】mb_http_output関数の使い方 | いっしー@Webエンジニア