mysql特殊字符处理的问题

在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即可,如:


  Java代码


  1.PreparedStatement pst = conn.prepareStatement("insert into emp(name) values(?)");


  2.


  3.pst.setString(1, name);


  PreparedStatement pst = conn.prepareStatement("insert into emp(name) values(?)");


  pst.setString(1, name);


  2.自己处理


  比较常见的是"和\符号的处理,如:


  Java代码


  1.private static FilterString(String s){


  2. s = s.replace(""","""");


  3. s = s.replace("\\","\\\\");


  4. return s;


  5.}


  private static FilterString(String s){


  s = s.replace(""","""");


  s = s.replace("\\","\\\\");


  return s;


  }


  上面是基本的转义字符处理,平时不论写SQL语句,还是对数据库操作时都需要注意这个问题

猜你喜欢

转载自fengbin2005.iteye.com/blog/2302538