2015-04-07 5 views
0

У меня есть страница php, которая отображает вход пользователя, который я сохранил в базе данных mysql. Когда вход загружен, некоторые html-символы отображаются неправильно. Например, этот URL:Почему в моем браузере отображается кодированный объект html (например, & amp; amp;)?

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

Вы можете увидеть, что браузер на самом деле отображает & усилитель; не только &.

Я попытался использовать htmlspecialchars_decode или html_entity_decode, но, похоже, не влияет.

код действительно основной, просто:

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

Может кто-то помочь?

ответ

1

Я бы посмотрел, как эти данные сохраняются. Кажется, что он кодируется каждый раз, когда он сохраняется без декодирования.

Если вы посмотрите на коды изгоев, то есть можете & amp; amp; # 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. 

Так что проблема заключается в сохранении содержимого из редактора в базу данных. Содержимое кодируется при сохранении в БД из Редактора, но не декодируется при загрузке из БД в редактор.