我正在努力从我的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("£");
,则警告框不会显示任何内容
如何获取显示£
的提醒?
答案 0 :(得分:3)
Javascript提醒don't interpret HTML entities(有关如何在提醒实体之前解码实体的示例,请参阅该问题的答案。)如果您只是使用警报进行测试,那么您实际上要将其插入到HTML网页,如果你看到£
,那么你的最终代码应该可以正常工作。
但无论如何都不需要使用实体。如果您的Ajax返回的字符编码和您的网页设置正确(例如两个UTF-8),那么只返回'£'应该在警报和页面中工作。相信我,我是英国人。我们的键盘上有一把钥匙,它几乎只是作为现代网络上的一个角色:)