首页 > 开发 > PHP > 正文

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

2024-05-04 22:49:30
字体:
来源:转载
供稿:网友

实例如下:

//将内容进行UNICODE编码function unicode_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 '<h3>'.$unicode_name.'</h3>';// 将UNICODE编码后的内容进行解码function unicode_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 < count($matches[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,/u4f60/u5927/u7237/u7684 -> '.unicode_decode($unicode_name);

以上这篇PHP中对汉字进行unicode编码和解码的实现方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持错新站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表