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

它是十六进制 (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是一个SUB控制字符,用于标记文件的结尾 (EOF)。

于 2013-04-27T18:40:59.020 回答
2

它是SUB 字符的十六进制转义序列。

于 2013-04-27T18:40:30.383 回答
0

这是因为一个空行和 eof 文件程序尝试读取空行中的值并读取 \x1a

于 2018-04-29T11:10:38.610 回答