首頁 >後端開發 >PHP問題 >php gb2312轉utf8函數是什麼

php gb2312轉utf8函數是什麼

藏色散人
藏色散人原創
2020-08-15 10:57:352325瀏覽

php gb2312轉utf8函數是“mb_convert_encoding”,其函式語法為“mb_convert_encoding($output['wd'], 'utf-8', 'gb2312');”。

php gb2312轉utf8函數是什麼

推薦:《PHP影片教學

PHP轉換UTF-8和GB2312的URL編碼

目前WEB的應用程式中, UTF-8編碼和GB2312編碼是並存在的,例如百度(baidu.com)和Google(google.com)的URL編碼分別是GB2312編碼和UTF -8編碼。由於編碼並存造成的亂碼問題給WEB應用開發帶來不少麻煩,因此統一編碼是在WEB開發中解決這個問題的主要途徑。現在的問題是我們同時得處理UTF-8編碼和GB2312,例如我們要統計一個網站由搜尋引擎中帶來的訪問的關鍵字。

例如我們搜「中文」這個詞,然後觀察瀏覽器網址列。

用Baidu得到的結果是:

http://www.baidu.com/s?wd=%D6%D0%CE%C4

用Google得到的結果是:

http://www.google.cn/search?hl=zh-CN&source=hp&q=%E4%B8%AD%E6%96%87&aq=f&oq=

紅色的字元為「中文」這個字的URL編碼,即,baidu_urlencode (”中文”)=���� , google_urlencode(”中文”)=中文,由於編碼不同,很明顯不一樣。

在PHP中有一個mb_convert_encoding的函數,為不同編碼的轉換帶來了方便,原始程式碼如下(範例PHP原始碼文件用UTF-8的編碼檔案):

header('Content-type: text/html; charset=utf-8');
echo '
百度关键词URL编码转换示例:
'; $urlBaidu = 'http://www.baidu.com/s?wd=%D6%D0%CE%C4'; $arrParse = parse_url($urlBaidu); parse_str($arrParse ['query'],$output); echo '乱码:' . $output['wd'] . '
'; //将gb2312编码转换成utf-8编码 $strUTF8 = mb_convert_encoding($output['wd'], 'utf-8', 'gb2312'); echo '可读码:' . $strUTF8 . '
'; echo '
谷歌关键词URL编码转换示例:
'; $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); //谷歌关键词URL编码是utf-8,不用再作转换 echo '可读码:' . $output['q'] . '
';

以上是php gb2312轉utf8函數是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn