• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

浅析PHP中的UNICODE 编码与解码_php技巧

php 搞代码 4年前 (2022-01-26) 16次浏览 已收录 0个评论

方法一:

<?php<BR>funct<mark>6来源gaodaimacom搞#^代%!码网</mark><strong>搞gaodaima代码</strong>ion unicode_encode($name)<BR>{<BR>    $name = iconv('UTF-8', 'UCS-2', $name);<BR>    $len = strlen($name);<BR>    $str = '';<BR>    for ($i = 0; $i < $len - 1; $i = $i + 2)<BR>    {<BR>        $c = $name[$i];<BR>        $c2 = $name[$i + 1];<BR>        if (ord($c) > 0)<BR>        {   //两个字节的文字<BR>            $str .= '\u'.base_convert(ord($c), 10, 16).str_pad(base_convert(ord($c2), 10, 16), 2, 0, STR_PAD_LEFT);<BR>        }<BR>        else<BR>        {<BR>            $str .= $c2;<BR>        }<BR>    }<BR>    return $str;<BR>}<BR>//将UNICODE编码后的内容进行解码<BR>function unicode_decode($name)<BR>{<BR>    //转换编码,将Unicode编码转换成可以浏览的utf-8编码<BR>    $pattern = '/([\w]+)|(\\\u([\w]{4}))/i';<BR>    preg_match_all($pattern, $name, $matches);<BR>    if (!empty($matches))<BR>    {<BR>        $name = '';<BR>        for ($j = 0; $j < count($matches[0]); $j++)<BR>        {<BR>            $str = $matches[0][$j];<BR>            if (strpos($str, '\\u') === 0)<BR>            {<BR>                $code = base_convert(substr($str, 2, 2), 16, 10);<BR>                $code2 = base_convert(substr($str, 4), 16, 10);<BR>                $c = chr($code).chr($code2);<BR>                $c = iconv('UCS-2', 'UTF-8', $c);<BR>                $name .= $c;<BR>            }<BR>            else<BR>            {<BR>                $name .= $str;<BR>            }<BR>        }<BR>    }<BR>    return $name;<BR>}<BR>


方法二:

  function unicode2utf8($str){<BR>    if(!$str) return $str;<BR>    $decode = json_decode($str);<BR>    if($decode) return $decode;<BR>    $str = '["' . $str . '"]';<BR>    $decode = json_decode($str);<BR>    if(count($decode) == 1){<BR>      return $decode[0];<BR>    }<BR>      return $str;<BR>    }<BR>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:浅析PHP中的UNICODE 编码与解码_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址