我有一个网站,上面有留言簿。它是用php (codeigniter)构建的。
为了过滤掉“坏”字,我使用了我自己的“黑名单”。如果留言簿评论中包含“脏话”,则会将积分添加到计数器中。如果最后计数器大于2,则该评论将被报告为垃圾邮件,并且将不被允许。
直到几周前,这一切都进行得很顺利。
我总是收到只有???????的评论。在我的过滤器中,我已经将????添加到了我的黑名单中。每次????或更多的?被添加到评论中时,该评论就会被认为是垃圾评论。
if (strpos($comment,'????') !== false)
$points = $points + 2;当试图添加像“?”这样的评论时,评论会被阻止。
但我仍然收到只有?s的垃圾邮件。所以我认为问题出在其他地方。我认为输入是阿拉伯语或中文,无法识别并翻译成?s。
但我仍然会在留言簿上看到垃圾邮件。
我该怎么解决这个问题呢?
发布于 2013-06-13 01:10:06
mb_detect_encoding会告诉你代码页,因为你的数据库不是set to the correct collation,所以它被表示为‘?’。希望这对你有帮助……
https://stackoverflow.com/questions/17071268
复制相似问题