萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP中對漢字進行unicode編碼和解碼的實現方法

PHP中對漢字進行unicode編碼和解碼的實現方法

小編推薦的這篇文章介紹了PHP中對漢字進行unicode編碼和解碼的實現方法,非常實用,有興趣的同學可以參考一下。

 

 代碼如下復制代碼

//將內容進行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<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);

 

copyright © 萬盛學電腦網 all rights reserved