PHP crawler - проблема с сайтами с разными кодировками - PullRequest
1 голос
/ 24 декабря 2010

Я создаю анализатор плотности ключевых слов.Я создал анализатор ключевых слов, который прекрасно работает с веб-сайтами с английским контентом и кодировкой UTF-8.Когда я сканирую такой сайт, как myegy.com, арабские ключевые слова отображаются на моем веб-сайте в виде вопросительных знаков.Я пробовал iconv и mb_convert_strings, и они оба не работают.

Мне нужна помощь в создании программы плотности ключевых слов, которая может сканировать все языки и кодировки и сохранять их в базе данных сКодировка utf-8 и отображение их обратно ...

Я новичок в кодировках, поэтому ваша помощь будет по достоинству оценена ...

Отображается на моей странице как �����и со значком -> ÈÌæÏÉ.Это должно быть отображено на арабском языке, хотя я не могу показать, так как арабский язык показан в виде вопросительных знаков.

1 Ответ

0 голосов
/ 11 января 2011

myegy.com использует кодировку windows-1256. Iconv поддерживает это. Это должно работать, если вы находите объявление и правильно используете iconv.

При сканировании в Интернете вы найдете много разных кодировок, некоторые из них будут иметь неправильные названия, некоторые будут поддельными. На многих страницах не будет объявлений о кодировке, и браузеры будут угадывать кодировку.

Если вы хотите поддерживать все кодировки как можно лучше, вам необходимо реализовать алгоритм обнаружения кодировки HTML5:

http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#determining-the-character-encoding

Также обратите внимание, что встроенный в PHP DOMDocument::loadHTML() поддерживает очень мало кодировок. Сначала вам придется конвертировать документы (и кодировать в них объявления) в UTF-8.

...