ホームページ >バックエンド開発 >PHPの問題 >php gb2312 to utf8関数とは何ですか?

php gb2312 to utf8関数とは何ですか?

藏色散人
藏色散人オリジナル
2020-08-15 10:57:352297ブラウズ

php gb2312 から utf8 への関数は「mb_convert_encoding」で、その関数構文は「mb_convert_encoding($output['wd'], 'utf-8', 'gb2312');」です。

php gb2312 to utf8関数とは何ですか?

推奨: 「PHP ビデオ チュートリアル

PHP による UTF-8 および GB2312 URL エンコードの変換

現在の WEB アプリケーションでは、UTF-8 エンコードと GB2312 エンコードが混在しており、例えば、Baidu (baidu.com) と Google (google.com) の URL エンコードは、それぞれ GB2312 エンコードと UTF です。 8エンコーディング。エンコーディングの混在によるコード化け問題はWEBアプリケーション開発において大きな問題となっており、WEB開発においてはエンコーディングの統一がこの問題を解決する主な手段となります。ここでの問題は、UTF-8 エンコードと GB2312 を同時に処理する必要があることであり、たとえば、検索エンジンから Web サイトにアクセスしたキーワードをカウントしたいと考えています。

たとえば、「中国語」という単語を検索し、ブラウザのアドレス バーを観察します。

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 to utf8関数とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。