インターネット上の友人によると、サーバーで GZIP 圧縮が有効になっていることが原因である可能性があります。
以下はGzipをオンにしたブログのヘッダー情報です。
リクエストヘッダ情報 元のヘッダ情報
次のようにコードをコピーします
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh; q =0.8,en-us;q=0.5,en;q=0.3
接続キープアライブ
Cookie __utma=225240837.787252530.1317310581.1335406161.1335411401.1537; __utmz=225240837.132685 0415.887.3.utmcsr=google|utmccn=(オーガニック)|utmcmd =オーガニック |utmctr=%E4%BB%BB%E4%BD%95%E9%A1%B9%E7%9B%AE%E9%83%BD%E4%B8%8D%E4%BC%9A%E9% 82% A3%E4%B9%88%E7%AE%80%E5%8D%95%20site%3Awww.nowmagic.net=888mj4425p8s0m7s0frre3ovc7; __utmc=225240837.1.10.13354 11401
ホスト www.111cn.net
ユーザー - エージェント Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
ヘッダー情報からContent-Encoding項目がGzipであることが分かります。
解決策は比較的簡単です。
file_get_contents の代わりにcurlを使用して取得し、curl構成パラメータに追加するだけです
コードは次のとおりです コードをコピーします
curl_setopt($ch, CURLOPT_ENCODING, "gzip");
今日 file_get_contents を使用して写真をキャプチャしたとき、最初はこの問題に気付かず、それを見つけるのに多大な労力を要しました
1. 組み込みの zlib ライブラリを使用する
サーバーに zlib ライブラリがインストールされている場合は、次のコードを使用してコード文字化けの問題を簡単に解決できます。
コードは次のとおりです コードをコピーします
$data = file_get_contents("compress.zlib://".$url);
もちろん、curl モジュールを使用して私の問題を解決することもできます。ここで私はあなたに記事を勧めます。次の記事はあなたにとって興味深いものです
詳細については、http://www.111cn.net/phper/31/58895.htmをご確認ください