這篇文章主要介紹了php中g(shù)b2312轉(zhuǎn)utf8函數(shù)的方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
php gb2312轉(zhuǎn)utf8函數(shù)是“mb_convert_encoding”,其函數(shù)語(yǔ)法是“mb_convert_encoding($output['wd'], 'utf-8', 'gb2312');”。
PHP轉(zhuǎn)換UTF-8和GB2312的URL編碼
目前WEB的應(yīng)用中, UTF-8編碼和GB2312編碼是并存在的,例如百度(baidu.com)和谷歌(google.com)的URL編碼分別是GB2312編碼和UTF-8編碼。由于編碼并存引起的亂碼問(wèn)題給WEB應(yīng)用開(kāi)發(fā)中帶來(lái)不少麻煩,因此統(tǒng)一編碼是在WEB開(kāi)發(fā)中解決這個(gè)問(wèn)題的主要途徑?,F(xiàn)在的問(wèn)題是我們同時(shí)得處理UTF-8編碼和GB2312,例如我們要統(tǒng)計(jì)一個(gè)網(wǎng)站由搜索引擎中帶來(lái)的訪問(wèn)的關(guān)鍵詞。
比如我們搜“中文”這個(gè)詞,然后觀察瀏覽器地址欄。
用Baidu得到的結(jié)果是:
http://www.baidu.com/s?wd=%D6%D0%CE%C4
用Google得到的結(jié)果是:
http://www.google.cn/search?hl=zh-CN&source=hp&q=%E4%B8%AD%E6%96%87&aq=f&oq=
紅色的字符為“中文”這個(gè)詞的URL編碼,即,baidu_urlencode(”中文”)=%D6%D0%CE%C4 , google_urlencode(”中文”)=%E4%B8%AD%E6%96%87 ,由于編碼不同,很明顯不一樣。
在PHP中有一個(gè)mb_convert_encoding的函數(shù),給不同編碼的轉(zhuǎn)換帶來(lái)了方便,源代碼如下(示例PHP源代碼文檔用UTF-8的編碼存檔):
header('Content-type: text/html; charset=utf-8'); echo '
百度關(guān)鍵詞URL編碼轉(zhuǎn)換示例:
'; $urlBaidu = 'http://www.baidu.com/s?wd=%D6%D0%CE%C4'; $arrParse = parse_url($urlBaidu); parse_str($arrParse ['query'],$output); echo '亂碼:' . $output['wd'] . '
'; //將gb2312編碼轉(zhuǎn)換成utf-8編碼 $strUTF8 = mb_convert_encoding($output['wd'], 'utf-8', 'gb2312'); echo '可讀碼:' . $strUTF8 . '
'; echo '
谷歌關(guān)鍵詞URL編碼轉(zhuǎn)換示例:
'; $urlGoogle = 'http://www.google.cn/search?hl=zh-CN&source=hp&q=%E4%B8%AD%E6%96%87&aq=f&oq='; $arrParse = parse_url($urlGoogle); parse_str($arrParse ['query'],$output); //谷歌關(guān)鍵詞URL編碼是utf-8,不用再作轉(zhuǎn)換 echo '可讀碼:' . $output['q'] . '
';
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享php中g(shù)b2312轉(zhuǎn)utf8函數(shù)的方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!