April 24th, 2008

今天無(wú)意中看到老王的技術(shù)手冊(cè)中對(duì) unicode 字符串的轉(zhuǎn)換方法。

才想起以前自己做的一個(gè)轉(zhuǎn)換程序時(shí),也碰到過(guò)這樣的問(wèn)題,幾乎被遺忘了。避免忘記,與大家分享一下這兩種方法。

老王掘出來(lái)的被遺忘的mb_convert_encoding方法:mb_convert_encoding(’醉爱’, ‘UTF-8′, ‘HTML-ENTITIES’);

我以前做的一個(gè)方法,對(duì)比上面的來(lái)說(shuō),很笨。不過(guò)在沒(méi)有 mb 擴(kuò)展的時(shí)候還是可以參考一下的。

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);
}

unescape(’醉爱’);