PHP开发用到了Unicode的编码与解码,将unicode转为中文,再将中文转Unicode(转汉字亲测可用,转unicode未亲测)

1:下面来看PHP Unicode编码方法,将中文转为Unicode字符,例如将新浪微博转换为unicode字符串,代码如下:

  1.  
    function UnicodeEncode($str){
  2.  
        //split word
  3.  
        preg_match_all('/./u',$str,$matches);
  4.  
     
  5.  
        $unicodeStr = "";
  6.  
        foreach($matches[0] as $m){
  7.  
            //拼接
  8.  
            $unicodeStr .= "&#".base_convert(bin2hex(iconv('UTF-8',"UCS-4",$m)),16,10);
  9.  
        }
  10.  
        return $unicodeStr;
  11.  
    }
  12.  
     
  13.  
    $str = "新浪微博";
  14.  
    echo UnicodeEncode($str);

Unicode编码输出字符串:“\u65b0\u6d6a\u5fae\u535a”

 

2:unicode解码方法,将上面的unicode字符转换成中文,代码如下:(亲测可用)

function unicodeDecode($unicode_str){
return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
create_function(
'$matches',
'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
),
$unicode_str);
}
posted @ 2019-11-07 15:41  $DeBuger  阅读(1023)  评论(0)    收藏  举报