Эй, ребята,
немецкий сайт о погоде предоставляет виджет погоды для владельцев сайтов. Этот виджет отлично работает с немецким Umlaute, как äöü. Однако этот виджет плохо спроектирован, поэтому я использую curl и xpath для запроса информации, которую предоставляет этот виджет погоды. Виджет погоды - это набор таблиц и элементов div со встроенными стилями, и я использую xpath, чтобы просто получить значения внутри таблицы td.
Все отлично работает, кроме немецкого Umlaute, как äöü. Мой веб-сайт использует кодировку utf-8, поэтому все эти Umlaute должны работать правильно (как и на остальной части страницы). Даже когда я обычно размещаю виджет погоды на моем сайте, он работает с этими Umlaute.
Однако, как только я использую curl для получения значений внутри таблицы, Umlaute не работает и преобразуется в странные символы.
<?php
$url = 'http://www.weatherxyz.com/hptool/wordpress_v1.php?cid=43Xv1a0&l=de';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$str = curl_exec($curl);
$dom = new DOMDocument;
$dom->loadHTML($str);
$xpath = new DOMXPath($dom);
$tds = $xpath->query('//div/table/tr/td');
foreach ($tds as $key => $cell) {
echo $cell->textContent;
}
?>
Ребята, вы понимаете, как я могу сделать эту работу?