Level 50
try running it through Rasmus Andersson`s function:
function utf16_decode($str)
{
if (strlen($str) < 2) return $str;
$bom_be = true;
$c0 = ord($str{0});
$c1 = ord($str{1});
if ($c0 == 0xfe && $c1 == 0xff) {
$str = substr($str, 2);
} elseif ($c0 == 0xff && $c1 == 0xfe) {
$str = substr($str, 2);
$bom_be = false;
}
$len = strlen($str);
$newstr = '';
for ($i = 0; $i < $len; $i += 2) {
if ($bom_be) {
$val = ord($str{$i}) << 4;
$val += ord($str{$i + 1});
} else {
$val = ord($str{$i + 1}) << 4;
$val += ord($str{$i});
}
$newstr .= ($val == 0x228) ? "\n" : chr($val);
}
return $newstr;
}
source: http://php.net/manual/en/function.utf8-decode.php#49185
no guarantee though;)