PHP如何解碼unicode編碼的中文字符代碼-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“PHP如何解碼unicode編碼的中文字符代碼”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“PHP如何解碼unicode編碼的中文字符代碼”吧!

成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元桃江做網(wǎng)站,已為上家服務(wù),為桃江各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

問題背景:
晚上在抓取某網(wǎng)站數(shù)據(jù),結(jié)果在數(shù)據(jù)包中發(fā)現(xiàn)了這么一串編碼的數(shù)據(jù):"......\u65b0\u6d6a\u5fae\u535a......", 這其實是中文被unicode編碼后了的數(shù)據(jù),我現(xiàn)在就是想解碼出中文來,上度娘搞了半天,試了很多的姿(方)勢(法),終于搞定了。

解決方案:
呵呵,老外就是給力啊, 猛戳這里看老外給的解決方案

方案A(穩(wěn)定版+推薦):


function replace_unicode_escape_sequence($match) {
  return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}
$name = '\u65b0\u6d6a\u5fae\u535a';
$str = preg_replace_callback('/\\\\u([0-9a-f]{4})/i', 'replace_unicode_escape_sequence', $name);
echo $str; //輸出: 新浪微博
//咱將上述方案A給封裝起來~~~(方案A穩(wěn)定版+升級+推薦)
class Helper_Tool
{
  static function unicodeDecode($data)
  {  
    function replace_unicode_escape_sequence($match) {
      return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
    }  
 
    $rs = preg_replace_callback('/\\\\u([0-9a-f]{4})/i', 'replace_unicode_escape_sequence', $data);
 
    return $rs;
  }  
}
//調(diào)用
$name = '\u65b0\u6d6a\u5fae\u535a';
$data = Helper_Tool::unicodeDecode($name); //輸出新浪微博

 
方案B(次推薦):


<?php
function unicodeDecode($name){
  $json = '{"str":"'.$name.'"}';
  $arr = json_decode($json,true);
  if(empty($arr)) return ''; 
  return $arr['str'];
}
$name = '\u65b0\u6d6a\u5fae\u535a';
echo unicodeDecode($name); //輸出: 新浪微博

對于方案B, 我要特別重點(diǎn)說明下注意事項, 在好友 XAR (猛戳XAR博客) 的技術(shù)支持下,總結(jié)出要處理的字符串(即傳遞給函數(shù)unicodeDecode的參數(shù)$name的內(nèi)容中一定不能包含單引號,否則就會導(dǎo)致解析失敗, 所以有必要的話可以借助 str_replace()函數(shù)將非法字符格式化為合格字符)

到此,相信大家對“PHP如何解碼unicode編碼的中文字符代碼”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站欄目:PHP如何解碼unicode編碼的中文字符代碼-創(chuàng)新互聯(lián)
分享地址:http://muchs.cn/article46/hcjeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、App設(shè)計、企業(yè)建站App開發(fā)、網(wǎng)站制作、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計