Я выбрал это из php.net и может быть использован для преобразования шестнадцатеричной строки UTF-16 в UTF -8
function utf8_urldecode($str) {
$str = str_replace("\00", "%u00", $str);
$str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\1;",urldecode($str));
return html_entity_decode($str,null,'UTF-8');
}