@Ankozar

Что это за кодировка?

На php собираю новости с сайта. Штук 15 сайтов уже парсятся нормально, сейчас столкнулся с проблемой кодировки текста на исходном сайте.

Получаю заголовки новостей отсюда: www.tyumen-judo.ru/news

Php мне выдаёт, например: ÐндÑÑÑÑÐ¸Ñ ÑпоÑÑа!

Погуглил - нашёл mb_convert_encoding.

Но прикол в том, что на сайте и так кодировка utf-8! Это прописано в мета. И мой php, через mb_detect_encoding, тоже говорит что это utf-8.

Вот нет идей, почему так отображается и как это пофиксить.

UPD: конвертация кракозябр в CP1252 даёт читаемый текст! Но php (и все декодеры) по-прежнему определяет исходную кодировку как utf-8. А мне, блин, надо чтобы универсальный алгоритм для парсинга текста был. То есть, для всех сайтов я в БД храню атрибут или селектор, по которому он на сайте ищет нужный элемент и вытаскивает из него данные. И все сайты в utf-8, вроде. Я бы написал условие, при котором нужно конвертить текст, но как тут поступить - хз.
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
@Ankozar Автор вопроса
Нашёл: https://www.cyberforum.ru/php-network/thread226548...

Проблема в том что библиотека не может считать кодировку, сама на свое усмотрение что то делает с кодировкой.

На странице указана кодировка в таком формате
HTML5
<meta http-equiv="content-type" content="text/html;charset=utf-8">


Мне вот такая штука помогла:

$content = file_get_contents('https://sitename.com/?p=503810');
 $doc = phpQuery::newDocument('<meta charset="utf-8">' . $content);



Собсно, я вот это у себя написал:
$doc = phpQuery::newDocument('<meta charset="utf-8">' . $content);


И текст стал парситься как надо.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
StupidQuestion
@StupidQuestion
Задаю глупые вопросы...
60100025764ae246189960.png
Ответ написан
Комментировать
Есть принципиально другой, более унифицированный способ собирать контент с сайтов - RSS. Часто работает даже там, где явно не присутствует. В XML, насколько я вижу, с кодировками все в порядке, да и парсить их просто (правда, полный текст произвольной статьи так не получить):
www.tyumen-judo.ru/rss.xml
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы