Problemet slutade med att ett icke-ASCII-tecken fanns i CDATA-taggen, vilket Colin påpekade i kommentarerna till frågan.
Jag hade bråttom att lösa detta så jag använde bara en brute force-metod och körde allt genom en regex-ersättning förutom utf8_encode(), jag använde:$output =preg_replace('/[^(\x20-\x7F)] */','', $output);Jag hittade detta här:http://www.stemkoski.com/php-remove-non-ascii-characters-from-a-string/
Tack till Colin och Francis för deras bidrag.