domdocument при разборе utf-8 неправильно парсит теги (кодировка)

Pilsen

Новичок
domdocument при разборе utf-8 неправильно парсит теги (кодировка)

Мы обрабатываем базу сайтов, вытягиваем, в частности, тег title.

Столкнулся с весьма странной проблемой. Проявляется только на некоторых сайтах.

Небольшой процент сайтов в utf-8 кодировке при загрузке страницы через

PHP:
// fetching
 $url = 'http://www.marketgid.com/';

 $request = new HTTP_Request2($url);

 $request->setHeader('User-Agent', 'Mozilla/Firefox');
 $response = $request->send();
 $content = $response->getBody();
// fetching

// here comes a trouble
$dom = new domDocument();

@$dom->loadHTML($content);
$dom->preserveWhiteSpace = false;

print $dom->encoding."<br>\n";
print $dom->actualEncoding."<br>\n";

$title = @$dom->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
print $title."\n";
// here comes a trouble
ПРАВИЛЬНО определяет кодировку в строках
PHP:
print $dom->encoding."<br>\n";
print $dom->actualEncoding."<br>\n";
но неправильно выдает данные через getElementsByTagName

На примере разбора главной страницы http://www.marketgid.com/ я получаю в строке $title набор символов, не в utf-8.

Другими страница - контент страницы в utf-8, DOM определяет кодировку из meta тегов правильно, но выдает части страницы при парсинге неправильно.

Есть еще ряд сайтов, на которых такое получается, к примеру, на китайском http://www.dianping.com/citylist
хотя тысячи других сайтов в utf-8, на китайском и многих других языках, парсятся нормально.


Кто-нибудь сталкивался с таким? Как это лечить?
Библиотеку менять не предлагайте, нам от неё не только тег title нужен ;). Нужно более-менее промышленное решение.
 
Сверху