php – MySQL在卷曲(智能)引号上窒息

前端之家收集整理的这篇文章主要介绍了php – MySQL在卷曲(智能)引号上窒息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在从表单中将一些数据插入到数据库中.我正在使用addslashes来转义文本(也尝试了 mysql_real_escape_string,结果相同).

常规报价已转义,但其他一些报价则没有.例如,字符串:

Homer’s blood becomes the secret ingredient in Moe’s new beer.

转换为:

Homer\’s blood becomes the secret ingredient in Moe’s new beer.

我不认为卷曲引用无关紧要,但只有这个文本被插入到数据库中:

Homer’s blood becomes the secret ingredient in Moe

所以PHP认为卷曲的引用很好,但MysqL正在丢失字符串. MysqL虽然没有给出任何错误.

我会寻找Web界面中使用的字符编码与数据库级别使用的字符编码之间的不匹配.例如,如果您的Web界面使用UTF-8,并且您的数据库使用latin1的默认MysqL编码,那么您需要使用DEFAULT CHARSET = utf8设置表.

顺便说一下,使用MysqL_real_escape_string()或MysqLi. addslashes()不足以防止sql注入.

猜你在找的PHP相关文章