function unicodeToUTF8($str, $code = 'UTF-8') { $str = str_replace('\u', '%u', $str); $str = rawurldecode($str); preg_match_all("/(?:%u.{4})|.{4};|&#\d+;|.+/U", $str, $r); $ar = $r[0]; foreach ($ar as $k => $v) { if (substr($v, 0, 2) == "%u") { $ar[$k] = iconv("UCS-2", $code, pack("H4", substr($v, -4))); } elseif (substr($v, 0, 3) == "") { $ar[$k] = iconv("UCS-2", $code, pack("H4", substr($v, 3, -1))); } elseif (substr($v, 0, 2) == "&#") { echo substr($v, 2, -1) . " "; $ar[$k] = iconv("UCS-2", $code, pack("n", substr($v, 2, -1))); } } return join("", $ar); }