HTML特殊字符和PHP

时间:2013-03-29 22:37:43

标签: php javascript jquery html special-characters

我的跨度包含上箭头:▲

通过AJAX调用,在PHP中,我收到一个包含此箭头的POST参数。

$("#mySpan").click(function(){

      var arrow = $(this).html();
      alert(arrow); //displays the arrow the in an alert box
      $.post('Something.php',{ arrow: arrow },function(data){
            alert(data);
      });

});

在PHP中,我只是检查参数是否为此箭头。

if(isset($_POST['arrow']){

      $arrow = $_POST['arrow'];
      if($arrow=='▲')
            echo 'Its an arrow';
      else
            echo 'Its not an arrow';
}

JS返回一个警告框'它不是箭头'。我是以正确的方式比较它吗?

1 个答案:

答案 0 :(得分:1)

$(this).html();返回实际的Unicode字符,而不是字符转义▲

您可以检查长度以查看:

alert($(this).html().length); // => 1

接下来,将此字符发送到后端。并且所有AJAX数据都编码为UTF-8。 的UTF-8表示形式为E2 96 B2

echo $_POST['arrow'] === "\xE2\x96\xB2"; // Its an arrow