PHP中使用file_get_contents抓取網(wǎng)頁中文亂碼問題解決方法
本文實例講述了PHP中使用file_get_contents抓取網(wǎng)頁中文亂碼問題解決方法。分享給大家供大家參考。具體方法如下:
file_get_contents函數(shù)本來就是一個非常優(yōu)秀的php自帶本地與遠程文件操作函數(shù),它可以讓我們不花吹揮之力把遠程數(shù)據(jù)直接下載,但我在使用它讀取網(wǎng)頁時會碰到有些頁面是亂碼了,這里就來給各位總結具體的解決辦法.
根據(jù)網(wǎng)上有朋友介紹說原因可能是服務器開了GZIP壓縮,下面是用firebug查看我的網(wǎng)站的頭信息,Gzip是開了的,請求頭信息原始頭信息,代碼如下:
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Cookie __utma=225240837.787252530.1317310581.1335406161.1335411401.1537; __utmz=225240837.1326850415.887.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|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.nowamagic.net; PHPSESSID=888mj4425p8s0m7s0frre3ovc7; __utmc=225240837; __utmb=225240837.1.10.1335411401
Host www.dhdzp.com
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
可以從header信息中找到 Content-Encoding 項是 Gzip.
解決辦法比較簡單,就是用 curl 代替 file_get_contents 去獲取,然后在 curl 配置參數(shù)中加一條,代碼如下:
今天用 file_get_contents 抓圖片的時候,開始沒發(fā)現(xiàn)這個問題,廢了老大勁才找出來.
使用自帶的zlib庫,如果服務器已經(jīng)裝了zlib庫,用下面的代碼可以輕易解決亂碼問題,代碼如下:
希望本文所述對大家的PHP程序設計有所幫助。
相關文章
PHP基于DateTime類解決Unix時間戳與日期互轉問題【針對1970年前及2038年后時間戳】
這篇文章主要介紹了PHP基于DateTime類解決Unix時間戳與日期互轉問題,通過DateTime類解決1970年前及2038年后時間戳顯示與計算問題,非常簡單實用,代碼中備有較為詳盡的注釋便于理解,需要的朋友可以參考下2018-06-06
簡單的方法讓你的后臺登錄更加安全(php中加session驗證)
通過特定文件為后臺入口注冊session,否則失敗退出。即直接使用原后臺地址將無法登錄后臺。這樣一來,入口文件名的多樣性、可變更性將為你的后臺登錄提供更加安全的環(huán)境2012-08-08
使用PHP實現(xiàn)實時數(shù)據(jù)可視化功能的示例詳解
實時數(shù)據(jù)可視化功能,是指在Web應用程序開發(fā)中,將服務器發(fā)送的實時數(shù)據(jù),本文將介紹如何使用PHP和前端框架實現(xiàn)實時數(shù)據(jù)可視化功能,需要的可以參考一下2023-07-07
在Windows系統(tǒng)下使用PHP生成Word文檔的教程
這篇文章主要介紹了在Windows系統(tǒng)下使用PHP生成Word文檔的教程,要學習PHP的同學可以通過這樣的方式來練練手^^需要的朋友可以參考下2015-07-07
PHP使用curl_multi_select解決curl_multi網(wǎng)頁假死問題的方法
這篇文章主要介紹了PHP使用curl_multi_select解決curl_multi網(wǎng)頁假死問題的方法,結合實例形式分析了使用curl_multi的過程中并發(fā)處理事務導致cpu占用率過高時的解決方法,需要的朋友可以參考下2018-08-08
php實現(xiàn)通過stomp協(xié)議連接ActiveMQ操作示例
這篇文章主要介紹了php實現(xiàn)通過stomp協(xié)議連接ActiveMQ操作,結合實例形式分析了stomp擴展安裝及使用stomp擴展連接ActiveMQ具體操作技巧,需要的朋友可以參考下2020-02-02

