この問題は、いわゆる5C問題と言われるものです。
ググったら色々出てきます。
質問で上げられている文字以外にも下記のような文字も同じく文字化けが発生します。
「―」,「ソ」,「噂」,「欺」,「圭」,「構」,「蚕」,「十」,「申」,「貼」,「能」,「表」,「暴」,「予」,「禄」,「兔」
この問題は実装する文字コード「Shift-JIS」で発生するもので、
他の文字コード「EUC-JP」や「UTF-8」で実装することで解決します。
特別「Shift-JIS」で実装する必要が無ければ、
「EUC-JP」や「UTF-8」で実装することをおすすめします。
昨今は、一般的に「UTF-8」で実装することが多いようです。
理由は「世界標準」だからとかASCIIコードとの互換性等色々ありますが、
その辺は今回とは直接関係なので、ググって頂ければと思います。
仮に「Shift-JIS」で実装する必要がある場合は、php.ini内に「Magic Quotes GPC」というオプションがあります。
これがデフォルトでONになっています。何の設定かと言うと、自動でエスケープ文字を取り除く設定です。
■php.ini
magic_quotes_gpc = Off
とすることで解決することが出来るかと思います。
文字コードに影響しない処理を書くとしたら
if (!get_magic_quotes_gpc()) { $b = (($_POST['b'])); } else { $b = (addslashes($_POST['b'])); }
PHPのマニュアルを見ると
「警告:この機能は PHP 5.3.0 で 非推奨となり、 PHP 5.4.0 で削除されました。」なっていますので、オフにすることが5.4以前のバージョンを利用しているのでしたら、
オフにすることが推奨されています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。