转换unicode十进制内码为utf-8编码
时间:2008-01-03 来源:yueming
转换unicode十进制内码为utf-8编码
?php
/**
* 转换unicode十进制内码为utf-8编码
*/
function u2utf8($c) {
$str="";
if ($c 0x80) {
$str.=$c;
} else if ($c 0x800) {
$str.=chr(0xC0 | $c>>6);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c 0x10000) {
$str.=chr(0xE0 | $c>>12);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c 0x200000) {
$str.=chr(0xF0 | $c>>18);
$str.=chr(0x80 | $c>>12 & 0x3F);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
}
return $str;
}
$source = "中国人民";
preg_match_all("/&#([0-9]+)/",$source,$regs);
print_r($regs);
foreach($regs[1] as $v)
$source = str_replace("&#$v",iconv("UTF-8","GB2312",u2utf8($v)),$source);
echo $source;
?>
相关阅读 更多 +
排行榜 更多 +