php把unicode編碼字元轉成utf 8格式

2022-07-21 07:21:09 字數 985 閱讀 5106

最近在採集的時候,遇到寫特殊的編碼體整個頁面所有的漢字都是unicode的字元如下:

本期費用合計:    //

本期費用合計:

\u54c8\u55bd    //哈嘍

著實讓人頭疼一把。好在在熱心網友的幫助下有效解決了:

第一種:適用(&#)

下面是乙個轉化函式:

//將uicode 轉化成 utf-8

public function unescape($str) )|&#x.;|&#\d+;|.+/u",$str,$r);

$ar = $r[0];

//print_r($ar);

foreach($ar as $k=>$v)

elseif(substr($v,0,3) == "&#x")

elseif(substr($v,0,2) == "&#")

}return join("",$ar);

}

第二種:適用(&#、\u)

在後來的專案開發中無意中發現乙個小技巧同樣可以實現這一功能:

通過json_decode()這個函式,可以轉化成utf-8。只不過前提必須把字串拼接成json格式的字串:

json_decode('["本期費用合計:"]',true);

返回的是乙個:下標未0陣列。

注意:拼接json字串的時候必須使用雙引號;中括號是[value];花括號是;

第三種:適用(&#、\u)

preg_replace("#\\\u([0-9a-f])#ie", "iconv('ucs-2be', 'utf-8', pack('h4', '\\1'))", '本期費用合計:');

第三種方式雲裡霧裡至今也看不懂。。。。歡迎指導。。。。

Unicode編碼字元的點陣顯示

對於unicode編碼的字元,可以先將unicode編碼轉換為gbk編碼,然後利用gbk點陣字型檔 gbk.bin 顯示字元。乙個比較好的編碼轉換方法是,製作乙個按照unicode編碼順序排列的gbk編碼表,直接根據unicode編碼就可以查到對應的gbk編碼,具體的製作方法如下 上以篇文章中已經製...

Unicode編碼字元的點陣顯示

對於unicode編碼的字元,可以先將unicode編碼轉換為gbk編碼,然後利用gbk點陣字型檔 gbk.bin 顯示字元。乙個比較好的編碼轉換方法是,製作乙個按照unicode編碼順序排列的gbk編碼表,直接根據unicode編碼就可以查到對應的gbk編碼,具體的製作方法如下 上以篇文章中已經製...

字元編碼 unicode編碼

1.ascii american standard code for information interchange 美國資訊交換標準 這是計算機上最早使用的通用的編碼方案。那個時候計算機還只是拉丁文本的專利,根本沒有想到現在計算機的發展勢頭,如果想到了,可能一開始就會使用unicode了。當時絕大...