質問: mysql_real_escape_string($_get['a']); $_get['a'] → インサート と途中に stripslashes mysql_real_escape_string をはさんでから getやpostを取得してるんですが改行が改行コードに変わってしまいます。 例えば質問フォームとかで ---------------------------------------- 質問内容 ---------------------------------------- なんたら かんたら ↓ サブミット ---------------------------------------- 投稿確認 ---------------------------------------- なんたら\n\rかんたら みたいなかんじです。 一旦文字コードをeucにかえてから mysql_real_escape_stringを挟んだりしたりもしてみてますが 改行が改行コードになってしまいます。
回答: mysql_real_escape_string()を使用するのはあくまでのsqlを発行するときですね フォームで投稿→最低限のエスケープして確認画面→インジェクション対策してsqlで dbに投入 の流れですすめてください。 つまりdb上ではエスケープ文字は文字列として認識されていますので 抽出時には逆に、stripslashes()なりで戻さないといけません html上に表示するならさらにはnl2br()や、htmlspecialchars()などが 必要になります