導航:首頁 > 編程語言 > php採集亂碼

php採集亂碼

發布時間:2022-08-08 16:30:59

㈠ 有誰能幫我解決php的採集程序的亂碼問題

PHP初學者一定遇到過中文亂碼問題,我也遇到過,現在把我用的解決方案共享給大家。如果大家有更好的解決方案,請回復。
在=mysql_db_query("lib","select
*
from
mytb",);
前面加上
mysql_query("set
names
gb2312");或者mysql_query("set
names
gbk");

㈡ PHP讀取文件亂碼問題

1.fgetc($fp) 取得是單位元組的,中文可能的根據編碼可能有2 3 4位元組,所以不管怎麼輸出肯定都會是亂碼。
解決方法
1.修改php文件的編碼為utf-8, 只有這樣保存到test.txt文件里的文件才會是utf-8 大部分中文就都是按照3個位元組
2.$fp=fopen($filename,"r");
while(($char=fread($fp,3))!==''){
printf("%d.%s",ftell($fp)/3,$char);
}

㈢ php採集uft8網頁亂碼問題解決了嗎

我暈根本沒問題,你的php頁面(.php頁面)如果本身就是utf8編碼,那麼採集出來的utf8頁面就不是亂碼
如果你的php頁面是gbk,那麼採集的需要iconv('utf-8','gbk',$str)轉換,這跟php一點關系也沒有。

說句你不愛聽的,之所以你會問這種問題,只能說你對於文字編碼的基礎知識還不過關,或者無法從底層解釋什麼是文字編碼。

---------------補充
巧了,我最近也在寫一個抓取引擎,目前可以抓取國內主流幾大博客、還有若干新聞網站的新聞,當然也是通過自定義的規則文件。我的做法是,在規則文件就指定這個網站是什麼編碼,而在抓取引擎內部,統一使用utf-8編碼,這樣統一的輸入輸出,就可以杜絕亂碼現象的存在。
我可以給你看看我寫的HTML類的構造函數,可能對你有幫助:

function __construct($url, $incharset = null, $baseurl = null, $method = 'get', $postarr = null) {}

-------------------
我的抓取引擎已經支持通過規則,一層層往裡點了。

㈣ php採集utf-8網頁亂碼

腳本運行的最前面加上一句 set_time_limit(0); 設置不超時

iconv 或者mb_convert_encoding轉碼。獲取過內容的時候就將得到的字元串轉為你想要的編碼。

㈤ php顯示中文亂碼

php資料庫中文亂碼的解決辦法:1、創建資料庫時,規定字元類型為uft8;2、創建表時,規定字元類型為utf8;3、在PHP的MySQL連接函數中,添加語句「mysql_query("set names 'utf8'")。

㈥ php如何解決查詢出來的數據是亂碼問題

亂碼一直是困擾PHP初學者的一個非常大的問題,現在總結下造成亂碼的原因及解決方法:

一、HTML頁面編碼:meta http-equiv=content-type content=text/html; charset=utf-8 這里的編碼要和資料庫編碼,及連接資料庫編碼;
二、文件在存儲編碼:比如文件inde.php,改變其存儲編碼為所需編碼。只需用EditPlus等文本編輯軟體 文件另存為,在編碼中選擇正確的編碼(這點很多人都會忽略);

三、資料庫編碼:比如用的是phpmyadmin 選擇資料庫後,選擇操作選項。下面有一個整理,這裡面也要設置成統一的編碼;

四、表編碼:操作和第三點類似。這里就不重復了;
五、欄位編碼:在建表的建欄位的時候,有個整理。如果內容有漢字,就一定要改成統一的編碼;

六、連接資料庫時mysql_select_db()後面,要加一句 mysql_query( set names utf8 );
七、 (剛遇到的)本地測試成功後的網站,傳到網上去,會有亂碼。可能會是在本地導出數據時沒有選擇正確的編碼,所以才會在導入到web上後有亂碼問題。

㈦ PHP curl採集防盜鏈網站亂碼問題求助

你是用curl自己寫的對吧,你獲取回來的字元串你自己輸出看看,如果亂碼對吧,你是否檢查過瀏覽器的編碼呢?是不是都是utf-8?有時候瀏覽器也會識別錯誤,先找到什麼編碼顯示是真確的,然後再進一步找對策,現在你這樣轉來轉去,又明知道是同一個編碼,這樣做是白費功夫的。所以以後你可以去後盾人看看,我經常在那裡學習,你可以陪我學習哦

㈧ 關於運行php項目出現亂碼的問題

首先明確一點,這不是亂碼,而是出錯信息
你一定是改了php.ini里的display_errors為On
這樣就打開了錯誤輸出
本來你的程序是有錯誤的,但是關閉了錯誤輸出,你看不到
現在有錯誤輸出了

看你的錯誤提示是鏈接資料庫失敗
最後一張圖片還有其他的錯誤

你應該把error_reporting改為E_ALL & ~E_NOTICE這樣就不會有NOTICE級的警告

㈨ PHP 輸出簡單的中文 亂碼問題

解決php中中文亂碼問題方法

  1. php文件本身的編碼與網頁的編碼應匹配


    a. 如果欲使用gb2312編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=gb2312"),靜態頁面添加<metahttp-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。


    b. 如果欲使用utf-8編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=utf-8"),靜態頁面添加<metahttp-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的編碼格式為utf-8。保存為utf-8可能會有點麻煩,一般utf-8文件開頭會有BOM,如果使用session就會出問題,可用editplus來保存,在editplus中,工具->參數選擇->文件->UTF-8簽名,選擇總是刪除,再保存就可以去掉BOM信息了。

  2. php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。

  3. 如果你的HTML文件文件出現了亂碼問題,那麼你可以在head標簽裡面加入UTF8編碼(國際化編碼):UTF-8是沒有國家的編碼,也就是獨立於任何一種語言,任何語言都可以使用的。

(9)php採集亂碼擴展閱讀:

解決PHP 輸出簡單的中文 亂碼問題的其他方法:

在php的echo前面加入header("Content-Type:text/html;charset=gb2312")

把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />中的UTF-8改成gb2312

㈩ 採集的php網頁數據為什麼會亂碼

是中文亂碼嗎,那就要看你資料庫的編碼和網頁編碼一樣不

閱讀全文

與php採集亂碼相關的資料

熱點內容
微信怎麼發應用app 瀏覽:774
花生殼dns伺服器地址 瀏覽:646
squad伺服器一般什麼時候人多 瀏覽:471
程序員戰門課 瀏覽:474
config保存伺服器地址 瀏覽:317
預訂網吧座位的app叫什麼 瀏覽:416
香港伺服器主機地址 瀏覽:640
網店美工pdf 瀏覽:447
一堆文件夾怎麼弄出來 瀏覽:743
博途如何編譯硬體 瀏覽:418
fortran程序pdf 瀏覽:504
電池消耗演算法 瀏覽:394
伺服器中斷連接怎麼處理 瀏覽:222
上世紀互聯網不發達程序員很難 瀏覽:841
語音識別android開源 瀏覽:762
地埋式垃圾壓縮中轉站 瀏覽:902
apachehttpdlinux 瀏覽:944
快遞員中通app預付款是什麼 瀏覽:843
java路徑轉義 瀏覽:857
keytool加密演算法 瀏覽:131