17

文字は何\x1aを意味し、なぜmysql_real_escape_stringエスケープするのですか?

ドキュメントから:

mysql_real_escape_string() は、MySQL のライブラリ関数 mysql_real_escape_string を呼び出します。この関数は、\x00、\n、\r、\、'、"、および \x1a の文字の前にバックスラッシュを追加します。

ASCII 文字のリファレンスでは と説明されていSubstitute characterますが、これではあまり説明がありません。

4

5 に答える 5

13

これは 16 進数 (base 16)の Unicodeエスケープ シーケンスです。\x1a「代替」文字です。

参照: https://en.wikipedia.org/wiki/Substitute_character


なぜmysql_real_escape_stringそれを逃れるのですか?

ドキュメントによると、

厳密に言えば、MySQL では、バックスラッシュと、クエリ内の文字列を引用するために使用される引用文字のみをエスケープする必要があります。mysql_real_escape_string()ログファイルで読みやすくするために、他の文字を引用符で囲みます。

于 2013-04-27T18:39:20.020 に答える
12

\x1A は CTRL+Z 制御文字です。EOFマーカーでもあります。

于 2013-04-27T18:41:41.937 に答える
4

\x1aファイルの終わり (EOF) をマークするために使用される SUB 制御文字です

于 2013-04-27T18:40:59.020 に答える
2

これは、 SUB 文字の 16 進数のエスケープ シーケンスです。

于 2013-04-27T18:40:30.383 に答える