PHP Unicode中文编码与解码

今天使PHP开发用到了Unicode的编码与解码,将unicode转为中文,再将中文转Unicode这样的操作是非常常见的,所以小编将这两个unicode中文互转函数给作为一个笔记保存起来,非常的简单,会用就行了。

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

function UnicodeEncode($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;
}

$str = "新浪微博";
echo UnicodeEncode($str);

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


2:unicode解码方法,将上面的unicode字符转换成中文,代码如下:

function unicodeDecode($unicode_str){
    $json = '{"str":"'.$unicode_str.'"}';
    $arr = json_decode($json,true);
    if(empty($arr)) return '';
    return $arr['str'];
}

$unicode_str = "\u65b0\u6d6a\u5fae\u535a";
echo unicodeDecode($unicode_str);


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://sulao.cn/post/543.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。