【PHP8.x】mb_http_output関数の使い方
作成日: 更新日:
mb_http_output関数は、HTTP出力に使用する文字エンコーディングを設定、または取得する関数です。WebアプリケーションがブラウザへHTMLなどのコンテンツを送信する際、Content-Type
HTTPヘッダに文字エンコーディングを指定する必要がありますが、この関数はその値を制御します。引数に "UTF-8" や "SJIS-win" といった有効な文字エンコーディング名を文字列として渡すことで、HTTP出力のエンコーディングが設定され、成功した場合は true
、失敗した場合は false
を返します。引数を指定せずにこの関数を呼び出すと、現在設定されている文字エンコーディングの名前を文字列として取得できます。この設定は、php.ini
の output_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を返します。取得時、現在のエンコーディング文字列を返します。