質問のコメントでColinが指摘したように、問題はCDATAタグ内に非ASCII文字が存在することになりました。
私はこれを解決するために急いでいたので、ブルートフォースメソッドを使用し、utf8_encode()に加えて正規表現の置換をすべて実行しました:$ output =preg_replace('/ [^(\ x20- \ x7F)] * /'、''、$ output);これをここで見つけました: http://www.stemkoski.com/php-remove-non-ascii-characters-from-a-string/
貢献してくれたColinとFrancisに感謝します。