What does the \\x1a
character mean and why does mysql_real_escape_string
escape it?
From the documentation:
mysql_real_e
\x1a
is a SUB control character, used to mark end of a file (EOF).
This is is because of an empty line et the eof file the program try to read the values in the empty line and read \x1a
\x1A is CTRL+Z control character. It is also EOF marker.
It is a hexadecimal escape sequence for the SUB character.
It's a Unicode escape sequence, in hexadecimal (base 16). \x1a
is the "substitute" character.
See also: https://en.wikipedia.org/wiki/Substitute_character
Why does
mysql_real_escape_string
escape it?
According to the documentation,
Strictly speaking, MySQL requires only that backslash and the quote character used to quote the string in the query be escaped.
mysql_real_escape_string()
quotes the other characters to make them easier to read in log files.