I\'m trying to load an XML source from a remote location, so i have no control of the formatting. Unfortunately the XML file I\'m trying to load has no encoding:
<
You've to convert your document into UTF-8, the easiest would be to use utf8_encode().
DOMdocument example:
$doc = new DOMDocument();
$content = utf8_encode(file_get_contents($url));
$doc->loadXML($content);
SimpleXML example:
$xmlInput = simplexml_load_string(utf8_encode(file_get_contents($url_or_file)));
If you don't know the current encoding, use mb_detect_encoding(), for example:
$content = utf8_encode(file_get_contents($url_or_file));
$encoding = mb_detect_encoding($content);
$doc = new DOMdocument();
$res = $doc->loadXML("" . $content);
Notes:
$doc->loadHTML
instead, you can still use XML header.If you know the encoding, use iconv() to convert it:
$xml = iconv('ISO-8859-1' ,'UTF-8', $xmlInput)