問題 phpの関数のaddslashesとmysql_real_escape_stringって何が違うの? 答え SQLに渡すデータのエスケープに気を付けている方はaddslashes関数とmysql_real_escape_string関数の違いが気になったことがあると思います。 単純にエスケープしてくれる文字がMySQL用にちょっと違う(改行を\nにしてくれるなど)のと、接続しているクライアント側の文字コードを考慮して適切にエスケープしてくれる機能があります。 addslashes関数では何が問題なのかというと、日本語のShift_JISや中国語のGBKなど文字の最後のバイトに16進アスキーコード 5c =\(バックスラッシュ) が含まれる可能性のある文字コードを使用すると、エスケープした時のバックスラッシュと前の1バイトがくっついて、別の文字になることがあるのが問題。 \x95' (