转换unicode十进制内码为utf-8编码
来源:网络收集 责任编辑:栏目编辑 发表时间:2013-07-01 16:12 点击:次
转换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;
?>
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>