ホームページ >バックエンド開発 >PHPチュートリアル >File_get_contents は、文字化けした Web ページの解決策をキャプチャします_PHP チュートリアル

File_get_contents は、文字化けした Web ページの解決策をキャプチャします_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:34:02991ブラウズ

file_get_contents()関数を使用してWebページをクロールすると、文字化けが発生することがあります。文字化けの原因は 2 つあります。1 つはエンコーディングの問題で、もう 1 つは対象ページで Gzip が有効になっていることが考えられます。

エンコーディングの問題は、キャプチャしたコンテンツをエンコーディングに変換するだけで簡単に対処できます ($content=iconv("GBK", "UTF-8//IGNORE", $content);)。キャプチャ Gzip ページを開きます。どのように判断するか?取得したヘッダーには、コンテンツが GZIP 圧縮されていることを示す Content-Encoding: gzip が含まれています。 FireBug を使用して、ページで gzip が有効になっているかどうかを確認します。以下はGzipをONにして閲覧したブログのヘッダー情報です。

リーリー

ここにいくつかの解決策があります:

1. 組み込みの zlib ライブラリを使用する

サーバーに zlib ライブラリがインストールされている場合は、次のコードを使用してコード文字化けの問題を簡単に解決できます。

リーリー

2. file_get_contents の代わりに CURL を使用します

リーリー

3. gzip解凍機能を利用する

リーリー

使用:

リーリー

これら 3 つの方法を紹介しましょう。gzip によって引き起こされる文字化けクロールの問題のほとんどを解決できるはずです。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/752354.html技術記事 file_get_contents() 関数を使用して Web ページをクロールすると、文字化けが発生することがあります。文字化けの原因は 2 つあります。1 つはエンコーディングの問題で、もう 1 つは対象ページで Gzip が有効になっていることが考えられます。 コーディングに関する良い質問...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。