印象中,已经遇到好几次类似“老王”这个样子的”乱码“了,每次都是到处Google找转换方法,今天才发现mb_convert_encoding本身就可以实现这个功能:
echo mb_convert_encoding('老王', 'UTF-8', 'HTML-ENTITIES');
哗噻~,真帅。我以前是这样去解决的
function unescape($str){
$str = rawurldecode($str);
preg_match_all("/&#(/d+);/U",$str,$r);
$arr = $r[1];
$cstr = array();
foreach($arr as $number){
$cstr[] = iconv("UCS-2","GBK",pack("n",$number));
}
return join("",$cstr);
}
弄得很郁闷。
echo mb_convert_encoding('老王', 'UTF-8', 'HTML-ENTITIES');
哗噻~,真帅。我以前是这样去解决的
function unescape($str){
$str = rawurldecode($str);
preg_match_all("/&#(/d+);/U",$str,$r);
$arr = $r[1];
$cstr = array();
foreach($arr as $number){
$cstr[] = iconv("UCS-2","GBK",pack("n",$number));
}
return join("",$cstr);
}
弄得很郁闷。