2
我有一個關於PHP,CURL和UT-8希臘字符的問題。PHP CURL返回的文本使用UTF-8希臘語損壞
我嘗試從網站(特別是博客)檢索一些文本,但是當我讀取檢索到的文本時,它已損壞。它顯示出類似於我想我想我想我的同胞想要我。另一方面英文字符顯示很好。
網站的字符集是'UTF-8',我的腳本中的字符集也是。
我對CURL使用以下設置。
$ch = curl_init();
$useragent='Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20120716 Firefox/15.0a2';
$header = array('Accept-Charset: UTF-8');
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
我使用XPath查詢$res=$xp->query("...")
查找的文本的地方。
然後我把文字是這樣的:
foreach($res as $text_result)
$texter=trim($text_result->nodeValue);
我檢查了返回的文本字符集與mb_detect_encoding
及其正確「UTF-8」。
該腳本在大多數網站上都能正常運行,但是其中兩個網站會失敗。
我無法弄清楚問題可能是什麼。
有沒有人有想法?
謝謝大家提前。
UPDATE
我已經加入這個固定的錯誤:
$doc->loadHTML('<?xml encoding="UTF-8">' . $html);
但現在,當我插入文本到數據庫中,他們仍然損壞。在我的電腦(easyphp)相同的工作正常。
我在000webhost擁有免費主機。