最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
PHP中对汉字进行unicode编码和解码的实现方法
时间:2022-06-24 14:56:13 编辑:袖梨 来源:一聚教程网
代码如下 | 复制代码 |
//将内容进行UNICODE编码 functionunicode_encode($name) { $name= iconv('UTF-8','UCS-2',$name); $len=strlen($name); $str='' for($i= 0;$i<$len- 1;$i=$i+ 2) { $c=$name[$i]; $c2=$name[$i+ 1]; if(ord($c) > 0) { // 两个字节的文字 $str.='u'.base_convert(ord($c), 10, 16).base_convert(ord($c2), 10, 16); } else { $str.=$c2; } } return$str; } $name='MY,你大爷的' $unicode_name=unicode_encode($name); echo' '.$unicode_name.'' // 将UNICODE编码后的内容进行解码 functionunicode_decode($name) { // 转换编码,将Unicode编码转换成可以浏览的utf-8编码 $pattern='/([w]+)|(\u([w]{4}))/i' preg_match_all($pattern,$name,$matches); if(!empty($matches)) { $name='' for($j= 0;$j { $str=$matches[0][$j]; if(strpos($str,'\u') === 0) { $code=base_convert(substr($str, 2, 2), 16, 10); $code2=base_convert(substr($str, 4), 16, 10); $c=chr($code).chr($code2); $c= iconv('UCS-2','UTF-8',$c); $name.=$c; } else { $name.=$str; } } } return$name; } echo'MY,u4f60u5927u7237u7684 -> '.unicode_decode($unicode_name); |