О том, что на сайте Informer.ru есть приличный выбор и конструктор информеров от РБК, вы наверняка слышали. Но всё было бы так хорошо, если бы не популярная и удобная кодировка UTF-8. В текстовых информерах РБК её как раз-таки не предусмотрено. Поэтому если ваш сайт по-умолчанию в UTF-8, и вы жаждете установить текстовый информер, то не отчаивайтесь — выход есть! И в этом нам поможет небезызвестная функция iconv в PHP, позволяющая переводить данные из одной кодировки в другую.

Рассмотрим вариант с текстовым информером курса валюты. Типовой код информера приводить не вижу смысла, поэтому приведу сразу пример исправленного, с объяснениями:

$url_to_grab ="http://pics.rbc.ru/js/rbc_indices.js";
if ($myLine = file_get_contents($url_to_grab))
{
$myLine = iconv("WINDOWS-1251", "UTF-8", $myLine);
echo ("n");
}
else
{
echo "Информация о котировках валюты временно недоступна.";
exit;
}
?>

По коду видно, что переменная $url_to_grab "забирает" файл rbc_indices.js в кодировке Windows-1251 с сайта РБК, а далее выполняется условие, при котором либо содержимое файла переводится в UTF-8, либо выводится строка "Информация о котировках валюты временна недоступна.". И далее уже через JS-функцию print_ind() выводятся требуемые курсы валют с данными в UTF-8.

p.s.: Однако не переусердствуйте — в моей практике был случай, когда из-за того, что сайт имел кодировку Windows-1251, а информер UTF-8 — то заказчик сайта перевёл весь сайт в UTF-8, вместо того чтобы перевести лишь информер ':)' .

Пост написан красиво?
Стимулируй блога прогресс:
Не стоит покупать мне пиво,
Подпишись на RSS!