Heim >Backend-Entwicklung >PHP-Problem >Was ist die PHP-GB2312-zu-UTF8-Funktion?

Was ist die PHP-GB2312-zu-UTF8-Funktion?

藏色散人
藏色散人Original
2020-08-15 10:57:352348Durchsuche

php gb2312 zu utf8-Funktion ist „mb_convert_encoding“ und seine Funktionssyntax ist „mb_convert_encoding($output['wd'], 'utf-8', 'gb2312');".

Was ist die PHP-GB2312-zu-UTF8-Funktion?

Empfohlen: „PHP-Video-Tutorial

PHP-Konvertierung von UTF-8- und GB2312-URL-Kodierung

In aktuellen WEB-Anwendungen existieren UTF-8-Kodierung und GB2312-Kodierung nebeneinander, zum Beispiel die URL-Kodierung von Baidu (baidu.com) und Google (google.com) sind GB2312-Kodierung bzw. UTF-8-Kodierung. Das durch die Koexistenz von Codierungen verursachte Problem des verstümmelten Codes verursacht große Probleme bei der Entwicklung von WEB-Anwendungen. Daher ist eine einheitliche Codierung die Hauptmethode zur Lösung dieses Problems bei der WEB-Entwicklung. Das Problem besteht nun darin, dass wir uns gleichzeitig mit der UTF-8-Kodierung und GB2312 befassen müssen. Beispielsweise möchten wir die von einer Suchmaschine besuchten Schlüsselwörter zählen.

Zum Beispiel suchen wir nach dem Wort „Chinesisch“ und beobachten dann die Adressleiste des Browsers.

Das mit Baidu erhaltene Ergebnis ist:

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

Das mit Google erhaltene Ergebnis ist:

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

Die roten Zeichen sind die URL-Kodierung des Wortes „Chinesisch“, also baidu_urlencode("Chinese")=%D6%D0 %CE %C4, google_urlencode("Chinese")=%E4%B8%AD%E6%96%87, aufgrund unterschiedlicher Codierungen ist es offensichtlich unterschiedlich.

Es gibt eine mb_convert_encoding-Funktion in PHP, die die Konvertierung verschiedener Kodierungen erleichtert. Der Quellcode lautet wie folgt (das Beispiel-PHP-Quellcodedokument ist in UTF-8-Kodierung archiviert):

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'] . '
';

Das obige ist der detaillierte Inhalt vonWas ist die PHP-GB2312-zu-UTF8-Funktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn