[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсер, проблема с кодировкой
k1logram
Привет. не пойму в чем дело. простой парсер на curl. сайт в windows-1251. во время парсинга кодировку страницы перевожу в utf-8.
страница перекодируется, кириллица читается, все ок.
НО дальше получаю с помощью библиотеки nokogiri содержание мета тега title - и здесь в кириллице крякозябры((( что упустил?

curl

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $ip);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_ENCODING, '');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);/
curl_setopt($ch, CURLOPT_RETURNTRANSFER, '1');

if (!curl_errno($ch))
{
$html = curl_exec($ch);

$info = curl_getinfo($ch);

preg_match('#.*?charset\=(?<code>.*)#ui', $info['content_type'], $encoding);
$html = iconv(trim(mb_strtoupper($encoding['code'])), 'UTF-8', $html);
}
curl_close($ch);
return $html;


парсинг и вывод тайтла

$saw = new nokogiri($page);
$title = $saw->get('title')->toArray();

//1 вариант
echo $title[0]['#text'];

//2 вариант
$cod = mb_detect_encoding($title[0]['#text']);
echo $title = iconv(mb_strtoupper($cod), 'UTF-8', $title[0]['#text']);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.