имеем курл запрос
возвращает заголовок+тело страницы
обращаемся к яндексу - получаем кракозябры
ставим CURLOPT_HTTPHEADER=>"Accept-Charset: utf-8"
или CURLOPT_HTTPHEADER=>"Accept-Charset: cp1251"
возвращает нормальный текст
однако, при работе preg_match_all
в результирующем массиве снова кракозябры
что не так?
Как оценивалась "нормальность" текста? Например вывод текстов в шестнадцатиричном дампе дает разные результаты?
Вообще для дальнейшего анализа было бы хорошо получить примеры текстов. Проблема явно в том что из разных источников приходят данные в разных кодировках (при этом с Яндекса по-идее все идет в utf-8).
Да, и еще один момент: попробуй использовать "windows-1251" вместо "cp1251", это все-таки стандартное именование данной кодовой таблицы.