I recently transferred my site to PHP5.3 from PHP5.2. I had in place an authentication module which was working fine earlier but now gives the error
Document
See this:
http://forums.devshed.com/php-development-5/document-labelled-utf-16-but-has-utf-8-content-694388.html
Solution from this link simply replaces encoding information in the XML code:
$xml = $result->GetWeatherResult;
$xml = preg_replace('/(<\?xml[^?]+?)utf-16/i', '$1utf-8', $xml);
Not a nice solution, but worked for OP.