这个角色是什么\x1a
意思,为什么要mysql_real_escape_string
逃避它?
从文档中:
mysql_real_escape_string() 调用 MySQL 的库函数 mysql_real_escape_string,该函数在以下字符前添加反斜杠:\x00、\n、\r、\、'、" 和 \x1a。
ASCII 字符参考将其描述为Substitute character
,但这并没有说太多。
它是十六进制 (base 16)的 Unicode转义序列。\x1a
是“替代”字符。
另见:https ://en.wikipedia.org/wiki/Substitute_character
为什么要
mysql_real_escape_string
逃避呢?
严格来说,MySQL 只要求对查询中用于引用字符串的反斜杠和引号字符进行转义。
mysql_real_escape_string()
引用其他字符以使它们更易于在日志文件中阅读。
\x1A 是 CTRL+Z 控制字符。它也是 EOF 标记。
\x1a
是一个SUB控制字符,用于标记文件的结尾 (EOF)。
它是SUB 字符的十六进制转义序列。
这是因为一个空行和 eof 文件程序尝试读取空行中的值并读取 \x1a