Задать вопрос
trampick
@trampick
Веб-разработчик

Как перекодировать строку?

Делаю сео парсер сайтов. С определенных страниц сайта беру title, h1, description, keywords и прочие параметры. Парсер работает правильно на 50 различных сайтах.

В один момент попался необычный сайт на bitrix. Непонятная магия на нем происходит. Все параметры(h1, description, keywords) на этом сайте парсятся нормально, но title возвращается кракозяблами вида: ������ ����� �������� � ���� ��������: ����� ����, �������� � ������ ����� ��� ���� � ��������-�������� �����.
Здесь должны быть символы кириллицы. description и keywords на сайте тоже кириллицей, но парсятся в адекватном виде. Я не могу понять как кусок кода отдаваемой страницы может быть в другой кодировке и почему браузеры его понимают нормально.
Для парсера использую библиотеку dom_parser.

Сам принимаемый title принимается в переменную $title. Мне нужно определить кодировкку этой переменной и правильно ее перекодировать. Гуглил. Не один предоставленный скрипт по изменении кодировки не подошел.

Что с этой бедой делать?

Пример возвращаемого заголовка:
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 29 Aug 2016 05:58:48 GMT
Content-Type: text/html; charset=windows-1251
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.5.30
P3P: policyref="/bitrix/p3p.xml", CP="NON DSP COR CUR ADM DEV PSA PSD OUR UNR BUS UNI COM NAV INT DEM STA"
X-Powered-CMS: Bitrix Site Manager (be4ce0ee34669c98d89788a28b50c007)
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=48d1bc70ecc0e47c747bb097e21fcddd; path=/; HttpOnly
  • Вопрос задан
  • 182 просмотра
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
alsopub
@alsopub
Посмотреть бы конечно сайт, вероятно там title указан как-то нестандартно, возможно в виде Ӓ последовательности.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Pavlusha
@Pavlusha
2руререур
Попробуйте в самом файле прописать что-то типа
<meta charset="utf-8">
еще как вариант обратиться к хостеру, возможно решат проблему.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы