php如何将unicode转换成utf-8字符

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);
}
echo unicodeToUTF8('选择文件');
//输出 选择文件

你可能感兴趣的:(php如何将unicode转换成utf-8字符)