Sc0undRel
@Sc0undRel

Как исправить кодировку в при парсинге?

Пытаюсь спрасить страницу, но на выходе получаю неправильную кодировку в крякозяблах.
Сайт у меня на windows-1251

Как решить проблему?

$file = file_get_contents('https://tv.yandex.ru/213/channels/150?date=2016-04-12&period=all-day');
                    $dom = new DOMDocument('1.0', 'utf-8');
                    $dom->loadHTML($file);
                    $xpath = new DOMXPath($dom);
                    $schedule_items = $xpath->query('//div[@class="b-tv-channel-schedule__item"]');
                    $count = $schedule_items->length;

                    if ($count > 0) {
                        for ($i = 0; $i < $count; $i++) {
                            $item = $schedule_items->item($i);
                            $event_time = $xpath->query('a/span[@class="tv-event__time"]/span[@class="tv-event__time-text"]', $item);
                            $event_title = $xpath->query('a/div[@class="tv-event__title"]/div[@class="tv-event__title-inner"]', $item);
                            if ($event_time->length > 0 && $event_title->length > 0) {
                                $result .= $event_time->item(0)->nodeValue.$event_title->item(0)->nodeValue;
                            }
                        }
                        $teleprogramma .= "<h3><a href='#'>".$day_title."</a></h3><div>".$result."</div>";
                    }
  • Вопрос задан
  • 460 просмотров
Пригласить эксперта
Ответы на вопрос 3
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Сайт у меня на windows-1251

$dom = new DOMDocument('1.0', 'utf-8');
Ответ написан
fornit1917
@fornit1917
iconv-ом спарсенные данные перегоните из utf8 в cp1251
Ответ написан
@krypt3r
$result .= $event_time->item(0)->nodeValue . ' ' . mb_convert_encoding($event_title->item(0)->nodeValue, 'CP1251', 'UTF-8');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы