我的跨度包含上箭头:▲
通过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返回一个警告框'它不是箭头'。我是以正确的方式比较它吗?
答案 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