首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >欧元符号的Html实体显示在AJAX响应中,而不是实际的欧元符号获取&欧元;而不是欧元。

欧元符号的Html实体显示在AJAX响应中,而不是实际的欧元符号获取&欧元;而不是欧元。
EN

Stack Overflow用户
提问于 2013-01-22 15:05:45
回答 2查看 2.4K关注 0票数 1

我正在执行AJAX调用,在AJAX处理程序代码(PHP端)中,我必须返回一个包含货币符号的字符串。我首先要在PHP端使用€进行编码,但是当我在javascript部分中警告响应时,我会得到€

在返回PHP中的AJAX响应之前,我做了值的html_entity_decode() -

代码语言:javascript
运行
复制
$currency = "€"; //I am getting this from somewhere so I cannot change it. 
echo json_encode(array("message" => htmlentity_decode($currency)));

但是,当我使用javascript发出警报时,它仍然显示€

即使当我查看firebug控制台时,它也显示了€

我还检查了在非AJAX情况下,对于一个普通的PHP页面,如果我响应以下内容,我将得到预期的 -

代码语言:javascript
运行
复制
$currency = "€";
htmlentity_decode($currency);

我在这里错过了什么。我是否需要使用头()设置一些与字符相关的内容?我试过这个-

header("Content-Type: charset=UTF-8;");

我还检查了 is not converted to its symbol in CSV conversion

更新

注意:我尝试设置$currency =“欧元”,但这会设置响应null的"message“属性。firebug控制台输出中的响应显示-

代码语言:javascript
运行
复制
{"message":null}

更新2

我用jQuery。

我对回应做了什么?

我只是在这样的确认信息中显示了回应-

代码语言:javascript
运行
复制
if(confirm(res.message)){alert("confirmed")}. //this renders html entities (€), I want this to render €

我检查了一下,如果我在用户界面中附加了响应,欧元符号欧元就会出现- $('.jqModal').append(res.message);

EN

Stack Overflow用户

回答已采纳

发布于 2013-02-19 14:42:52

我检查了一下,在PHP端不做任何更改,并在javascript端显式解码HTML实体,在收到响应后,问题就会得到解决。我添加了这个javascript函数html_entity_decode() (phpjs.org/ function /html_entity_decode),并在通知响应之前调用了它,但这也不起作用(然后我在该函数中增加了对欧元的支持),现在它工作了。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14461635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档