default_charsetはデフォルトの文字コードのことではない、なんてことはない

http://linuxserver.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/php/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%90%E3%82%A4%E3%83%88%E7%92%B0%E5%A2%83%E3%81%AE%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%E5%AF%BE%E7%AD%96

default_charsetはデフォルトの文字コードのことではない。
(中略)
default_charsetとは

出力時にHTTPヘッダとして送信する文字コード

のこと。

な、なんだってー!……と思ったが、上の記述は大きな誤解を生む表現じゃないかと思う。
上記だと、あたかもdefault_charsetはHTTPヘッダにしか利用されていないかのように読めるが、『default_charsetは様々なマルチバイト文字関数のデフォルト値としても使われる』ので、デフォルトの文字コードと呼んでもまあ間違いではないと思う。
http://php.net/manual/ja/ini.core.php#ini.default-charset

PHP 5.6.0 以降は "UTF-8" がデフォルトになり、 htmlentities() や html_entity_decode() そして htmlspecialchars() で encoding パラメータを省略した場合は、このデフォルト値を利用します。 また、default_charset の値は、 iconv 関数で iconv.input_encoding、 iconv.output_encoding、 iconv.internal_encoding が未設定の場合や、 mbstring 関数で mbstring.http_input mbstring.http_output mbstring.internal_encoding が未設定の場合のデフォルトとしても用いられます。

すべてのバージョンの PHP は、PHP から送信する Content-Type ヘッダのデフォルト値としてこれを使います。 ただし、header() で上書きされている場合は別です。