为什么我的浏览器显示编码的html实体(例如& amp; amp; amp;)?

时间:2015-04-07 20:10:42

标签: php html

我有一个显示客户输入的php页面,我保存在mysql数据库中。加载输入时,会错误地显示某些html字符。 例如,这个网址:

http://www.greenbook.club/shopjerry/index.php/014101201323

您可以看到浏览器实际显示&放大器;不仅仅是&amp ;.

我尝试使用htmlspecialchars_decodehtml_entity_decode,但似乎没有影响。

代码非常基本,只是:

<?php echo $description ?>
////I also tried this, but no difference
<?php echo html_entity_decode($description) ?>

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我正在研究如何保存这些数据。它似乎是在每次保存而不被解码时被编码的。

如果你看一下流氓代码,即can&amp; amp; amp;#39; t最初是单词can&#39; t。

On the first save the single quote in can't would be getting turned into &#39;

On the Second save that would then turn into &amp;#39; then &amp;amp;#39 and so on for each save.

所以问题在于将内容从编辑器保存到数据库中。当从编辑器保存到DB时,内容被编码,但是当从DB加载回编辑器时,内容不被解码。