Полученные значения PHP SimpleXML имеют странные символы вместо дефис и апострофов

Я огляделся и не мог найти решение, так вот оно.

У меня есть следующий код:

$file = "adhddrugs.xml"; $xmlstr = simplexml_load_file($file); echo $xmlstr->report_description; 

Это простая версия, но даже при попытке сделать это любые дефисы r апострофы превращаются в знак знака товарного знака.

Вещи, которые я пробовал:

 echo = (string)$xmlstr->report_description; /* did not work */ echo = addslashes($xmlstr->report_description); /* yes I know this doesnt work with hyphens, was mainly trying to see if I could escape the apostrophes */ echo = addslashes((string)$xmlstr->report_description); /* did not work */ 

также htmlspecial (опять же я знаю, что не работает с дефисами), htmlentities и несколько других трюков.

Теперь ситуация в том, что я получаю XML-файлы из фида, поэтому я не могу их изменить, но они довольно стандартны. Текст с дефисами и т. Д. Инкапсулирован в тег cdata, а кодировка – UTF-8. Если я проверю источник, мне будут показаны дефисы и апострофы в источнике.

Теперь, чтобы убедиться, что кодировка отключена или неправильно маркирована, или что-то еще странное, я попытался просмотреть необработанный XML-файл и, конечно же, правильно отобразился.

Я уверен, что в своей спешке, чтобы найти ответ, я упустил простую вещь и тот факт, что это действительно первый раз, когда я когда-либо пользовался SimpleXML, мне не хватает очень простого решения. Просто не прикрепи меня к этому, я действительно попытался найти ответ самостоятельно.

Еще раз спасибо.

Solutions Collecting From Web of "Полученные значения PHP SimpleXML имеют странные символы вместо дефис и апострофов"