Diomas
Новичок
Yandex, loadHTML(), кодировка
Проблема заключается в следующем, страница яндекса с результатами поиска обрабатывается при помощи DOMDocument (PHP 5.1.2).
Если выводить эту страницу на экран - все нормально,
но если повытаскивать из нее данные через DOMDocument, кириллица становится нечитаемой.
Подскажите, пожалуйста, каким образом это можно решить. Если конвертацией iconv, то из чего во что и на каком этапе:
т.е. конвертировать из __ в __ перед loadHTML() или конвертировать уже полученные данные из __ в __?
Указание кодировки в конструкторе DOMDocument почему-то никаким образом не влияют на результат.
-~{}~ 28.02.06 01:24:
Испробованы следующие ваианты:
выдает нечитаемые символы типа мраÐ
выдает нечитаемые символы типа ìðГ_ìîð
выдает все до первого символа кириллицы (т.е. открывающий тег)
Проблема заключается в следующем, страница яндекса с результатами поиска обрабатывается при помощи DOMDocument (PHP 5.1.2).
Если выводить эту страницу на экран - все нормально,
но если повытаскивать из нее данные через DOMDocument, кириллица становится нечитаемой.
Подскажите, пожалуйста, каким образом это можно решить. Если конвертацией iconv, то из чего во что и на каком этапе:
т.е. конвертировать из __ в __ перед loadHTML() или конвертировать уже полученные данные из __ в __?
Указание кодировки в конструкторе DOMDocument почему-то никаким образом не влияют на результат.
Код:
<?php
$code = join('', file('yandsearch.htm'));
$doc = new DOMDocument("1.0", "windows-1251");
$doc->loadHTML($code);
$xpath = new DOMXPath($doc);
$query = "/html/head/title";
$title = $xpath->query($query)->item(0)->nodeValue;
$result = "<title>" . $title . "</title>";
echo $result;
?>
Испробованы следующие ваианты:
Код:
$code = join('', file('yandsearch.htm'));
$code = iconv('windows-1251', 'utf-8', $code);
$doc = new DOMDocument();
$doc->loadHTML($code);
$xpath = new DOMXPath($doc);
$query = "/html/head/title";
$title = $xpath->query($query)->item(0)->nodeValue;
$result = "<title>" . $title . "</title>";
echo $result;
Код:
$code = join('', file('yandsearch.htm'));
$doc = new DOMDocument();
$doc->loadHTML($code);
$xpath = new DOMXPath($doc);
$query = "/html/head/title";
$title = $xpath->query($query)->item(0)->nodeValue;
$result = "<title>" . $title . "</title>";
$result = iconv('windows-1251', 'utf-8', $result);
echo $result;
Код:
$code = join('', file('yandsearch.htm'));
$doc = new DOMDocument();
$doc->loadHTML($code);
$xpath = new DOMXPath($doc);
$query = "/html/head/title";
$title = $xpath->query($query)->item(0)->nodeValue;
$result = "<title>" . $title . "</title>";
$result = iconv('utf-8', 'windows-1251', $result);
echo $result;