default_charset = Shift_JIS は自動でheader関数を実行してくれる機能。
つまりブラウザーに出力するさいにShift_JIS指定してくれとお願いしている。

htmlタグに<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
と記入するのもブラウザーに出力する際にShift_JISでお願いしている。

これで直らない?

Mysqlにデータを登録する際にフォームの文字コードは?