htmlentities()和用户输入弄乱了SQL查询

时间:2013-04-11 17:31:27

标签: php mysql

我已经环顾了大约15分钟,找不到任何与我相同的问题。

我在我的网站上进行了简单的聊天,当有人输入数据时,它就会发生..

$m = htmlentities($_POST['m']);
$m = mysql_real_escape_string($m);

..然后像正常一样插入数据库。这对于防止人们在聊天中使用HTML代码非常有效,但是今天有人发现插入ASCII字符(他们复制并粘贴“>”符号)会导致JSON返回

"chat":null

但在返回的JSON中没有该符号,它看起来像

"chat":"<span class=\"chatMessage\"><span style=\"color:#FF7F00\">[12:11:42] Me: Message<\/span><\/span> 

带有符号的行

&acirc;€&ordm;

而不是应该在那里。

1 个答案:

答案 0 :(得分:0)

“»”的原因显示为“”“

您的数据编码为utf8,但页面上的元标记或服务器错误地告诉它是ISO-8859-1或其他内容。修复标题。