现在要存储这样一条数据
沃尔沃V90 CC还能\"车当船开\"?我看到了嘀嘀打船的希望 | avi
可以看到这条数据中有 \" 这样的字符
存入 mysql 后,数据被自动处理为:
沃尔沃V90 CC还能"车当船开"?我看到了嘀嘀打船的希望 | avi
转移字符被处理了
而由于特殊的存储要求,现在要存储原生的带转义字符的数据
所以就需要对转义字符做一下处理
我这边存储的时候用 php 自带的 addslashes 方法处理了一下
addslashes 对SQL语句中的特殊字符进行转义操作,包括(‘), (“), (), (NUL)四个字符,此函数在DBMS没有自己的转义函数时候使用,但是如果DBMS有自己的转义函数,那么推荐使用原装函数,比如MySQL有mysql_real_escape_string函数用来转义SQL。 注意在PHP5.3之前,magic_quotes_gpc是默认开启的,其主要是在$GET, $POST, $COOKIE上执行addslashes操作,所以不需要在这些变量上重复调用addslashes,否则会double escaping的。不过magic_quotes_gpc在PHP5.3就已经被废弃,从PHP5.4开始就已经被移除了,如果使用PHP最新版本可以不用担心这个问题。stripslashes为addslashes的unescape函数。
这样就可以完美保存带转义字符的字符串了