Проблема в том, что текст имеет другую кодировку, чем та, которую вы используете на странице, на которой он отображается.
Что вы хотите сделать, так это выяснить, что такое кодировка данных (например, посмотрев, какую кодировку использует страница, из которой вы берете текст), и преобразовать ее в кодировку, которую вы используете сами.
Для фактического преобразования вы можете использовать iconv (для общего случая), utf8_decode (UTF8 -> ISO-8859-1), utf8_encode (ISO-8859-1 -> UTF8) или mb_convert_encoding .
Чтобы помочь вам узнать, какова кодировка исходной страницы, вы можете, например, пропустить веб-сайт через w3c Validator , который автоматически определяет кодировку.
Если вам нужен автоматический способ определения кодировки, вам придется взглянуть на сам HTML. Способы определения выбранной кодировки могут быть использованы в спецификации HTML 4 .
Кроме того, стоит взглянуть на Абсолютный минимум, который должен знать каждый разработчик программного обеспечения. Абсолютно, положительно должен знать о юникоде и наборах символов (нет оправданий!) для получения дополнительной информации о кодировке.