从Ajax调用中返回英镑(£)

时间:2014-01-12 17:00:35

标签: php ajax html-encode

我正在努力从我的Ajax电话中获得一个英镑符号(£)。

这是我的jQuery调用

(function(d){
   var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
   js = d.createElement('script'); js.id = id; js.async = true;
   js.src = "//connect.facebook.net/en_GB/all.js";
   d.getElementsByTagName('head')[0].appendChild(js);
}(document));

$.post('ajax.php?vno=' + new Date().getTime(), {
    action: 'submit'
}, function(res){
    if (res.status) {
        alert(res.post);
        FB.api('/me/feed', 'post', { message: res.post },function(){});
    }
},'json');

在我的PHP脚本中,我传回html_entity_decode("£");但警报显示£

如果我将我的PHP代码更改为html_entity_decode("£");,则警告框不会显示任何内容

如何获取显示£的提醒?

1 个答案:

答案 0 :(得分:3)

Javascript提醒don't interpret HTML entities(有关如何在提醒实体之前解码实体的示例,请参阅该问题的答案。)如果您只是使用警报进行测试,那么您实际上要将其插入到HTML网页,如果你看到£,那么你的最终代码应该可以正常工作。

但无论如何都不需要使用实体。如果您的Ajax返回的字符编码和您的网页设置正确(例如两个UTF-8),那么只返回'£'应该在警报和页面中工作。相信我,我是英国人。我们的键盘上有一把钥匙,它几乎只是作为现代网络上的一个角色:)