Ecmsphp开发中心

1252

帖子

19

跟帖

8

粉丝

用户组:普通会员

头    衔:白银会员

版主

积分
356930
登陆
2134 次
私信
注册时间
2014-06-21 14:06:06
最后登陆时间
2023-09-24 16:04:46

帝国CMS PHP汉字(UTF-8)转unicode码的方法!

 [只看主题]
楼主
0 |
发表: 3 年前
| |
| |
跳转

  帝国CMS PHP汉字(UTF-8)转unicode码的方法!

  经常会有人问到,帝国CMS PHP汉字怎么样转unicode码呢?相信很多的朋友都遇到过类似的问题,那么今天帝国cms模板网就来告诉大家帝国CMS PHP汉字(UTF-8)转unicode码的方法,一起来看看怎么操作吧:

  最近要写一个与汉语字典有关的程序,发现许多生僻字,在页面不能显示,只能以unicode码的10进制实体来显示。于是,php将汉字转unicode码就成了迫切需求。用搜索找到好多个函数,可惜在试用后都放弃了,这些函数只支持普通汉字的转码,对于生僻字不支持。只好自己写一个,测试成功了。这个函数是根据unicode的二进制规则来写的。

function dp_HzToUnicode($hz){
	$r=array();
	$hex=str_replace("%","",urlencode($hz));
	$r['hex']=$hex;
	$bin2=base_convert($hex,16,2);
	$dec=base_convert($hex,16,10);
	if($dec<127){
		$r['dec']=$dec;
		$r['unidoce']=$r['dec'];
		$r['bin2']=$bin2;
		return $r;
	}
	$bit=strlen($bin2)/8;
	$br=str_split($bin2,8);
	$true_bin2='';
	for($i=0;$i<$bit;$i++){
		if($i==0){
			$true_bin2.=substr($br[$i],$bit+1);
		}else{
			$true_bin2.=substr($br[$i],2);
		}
	}
	$r['bin2']=$true_bin2;
	$unidoce=base_convert($true_bin2,2,16);
	$r['unidoce']=$unidoce;
	$html=base_convert($true_bin2,2,10);
	$r['dec']=$html;
	return $r;
}
帝国c

  OK,到这里就完成了,大家快去试试吧!


ecmsphp开发中心
ecmsphp开发中心
验证码 换一个

当前在线人数: 0
取消

感谢您的支持,我们会继续努力!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

×

打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

帝国CMS PHP汉字(UTF-8)转unicode码的方法!