Я пытаюсь очистить информацию с сайта.Проблема с шрифтом или Unicode на скребке
Сайт имеет как этот
127 East Zhongshan No 2 Rd; 中山东二路127号
Но когда я пытаюсь ломом это & эхо его, то он будет показывать
127 East Zhongshan No 2 Rd; ä¸å±±ä¸äºè·¯127å·
Я также попробовать UTF-8
Существует мой php code
сейчас, пожалуйста, помогите мне решить эту проблему.
function GrabPage($site){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_URL, $site);
ob_start();
return curl_exec ($ch);
ob_end_clean();
curl_close ($ch);
}
$GrabData = GrabPage($site);
$dom = new DOMDocument();
@$dom->loadHTML($GrabData);
$xpath = new DOMXpath($dom);
$mainElements = array();
$mainElements = $xpath->query("//div[@class='col--one-whole mv--col--one-half wv--col--one-whole'][1]/dl/dt");
foreach ($mainElements as $Names2) {
$Name2 = $Names2->nodeValue;
echo "$Name2";
}
Это сайт URL: http://www.lonelyplanet.com/china/shanghai/transport/transportation-travel- services/jinling-road-ferry –
loadHTML ожидает кодированные данные Latin-1, см. [PHP DomDocument, неспособный обрабатывать символы utf-8 (☆)] (http://stackoverflow.com/q/11309194/367456) для деталей. – hakre
У вас есть документ HTML 5+ с тегом ''. Кажется, что этот тег не лжет о кодировке файла, так что это * UTF-8 *. Кодировка по умолчанию в HTML 0-4.x - это * ISO-8895-1 *. ** DOMDocument ** в PHP ожидает HTML 4.1. – hakre