在MySQL中,一个字符串中,如果某个序列具有特殊的含义,则这个序列以反斜线符号(‘\’)开头,称为转义字符。
常见的转义字符:
\0 ASCII 0 (NUL ) 字符
\' ASCII 39 单引号 (“'” ) 字符
\" ASCII 34 双引号 (“"” ) 字符
\b ASCII 8 退格符
\n ASCII 10 换行符
\r ASCII 13 回车符
\t ASCII 9 制表符(TAB )
在插入数据库时,特殊字符需要注意的问题,即需要对特殊字符进行转义处理。通常有两种方式:
1.MySQL驱动程序处理
使用PreparedStatement即可,如:
PreparedStatement pst = conn.prepareStatement("insert into emp(name) values(?)");
pst.setString(1, name);
2.自己处理
比较常见的是'和\符号的处理,如:
private static FilterString(String s){
s = s.replace("'","''");
s = s.replace("\\","\\\\");
return s;
}
上面是基本的转义字符处理,平时不论写SQL语句,还是对数据库操作时都需要注意这个问题。