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(’醉爱’);