2013-04-27 24 views
10

Co oznacza znak \x1a i dlaczego z niego ucieka? mysql_real_escape_string?Co oznaczają znaki x1a?

Z dokumentacji:

mysql_real_escape_string() wywołuje funkcję biblioteki MySQL mysql_real_escape_string, która poprzedza backslashy do następujących znaków:. \ X00 \ n \ r, \”," i \ X1a

ASCII odnośnikami opisuje go jako Substitute character, ale to nie mówi wiele.

+0

Wierzę, że '1A' to' Ctrl + Z', który jest powszechnie używany w EOF. – Brad

Odpowiedz

6

jest to Unicode escape sequence, in hexadecimal (base 16). \x1a jest "substitute" character.

Zobacz także: http://en.wikipedia.org/wiki/Substitute_character


Dlaczego mysql_real_escape_string uciec?

According to the documentation,

Ściśle mówiąc, MySQL wymaga jedynie odwrotny ukośnik i znak cudzysłowu używane zacytować napis w zapytaniu być uciekł. mysql_real_escape_string() cytuje inne znaki, aby ułatwić ich odczytywanie w plikach dziennika.

+1

Dlaczego 'mysql_real_escape_string' wymyka się temu? –

2

Jest to heksadecymalna sekwencja ucieczki dla SUB character.

+1

Dlaczego 'mysql_real_escape_string' wymyka się temu? –

+4

Ponieważ MySQL przechodzi przez strumień sieciowy, a znak EOF może być interpretowany jako oznaczający koniec strumienia. –

+1

Nie jest to powód cytowania dokumentacji. –

4

\x1a to znak kontrolny SUB używany do oznaczania końca pliku (EOF).

7

\ x1A jest znakiem kontrolnym CTRL + Z. Jest to również znacznik EOF.