加入收藏 | 设为首页 | 会员中心 | 我要投稿 唐山站长网 (https://www.0315zz.com.cn/)- 数据安全、数据开发、文字识别、图像处理、媒体智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中对汉字进行unicode编码和解码的实现方法

发布时间:2022-07-29 11:19:22 所属栏目:PHP教程 来源:互联网
导读://将内容进行UNICODE编码 functionunicode_encode($name) { $name= a href=/tags.php/iconv/ target=_blankiconv/a(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) { // 两
  //将内容进行UNICODE编码
  functionunicode_encode($name)
  {
    $name= <a href="/tags.php/iconv/" target="_blank">iconv</a>('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编码后的内容进行解码
  functionunicode_decode($name)
  {
    // 转换编码,将Unicode编码转换成可以浏览的utf-8编码
    $pattern='/([w]+)|(u([w]{4}))/i'
    <a href="/tags.php/preg_match/" target="_blank">preg_match</a>_all($pattern,$name,$matches);
    if(!emptyempty($matches))
    {
      $name=''
      for($j= 0;$j<count($matches[0]);$j++)
      {
        $str=$matches[0][$j];
        if(strpos($str,'u') === 0)
        {
          $code=base_convert(<a href="/tags.php/substr/" target="_blank">substr</a>($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); 

(编辑:唐山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读