Помощь модуль погоды

Тема в разделе "DLE", создана пользователем gon9, 6 сен 2013.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. gon9

    gon9 Постоялец

    Регистр.:
    18 май 2013
    Сообщения:
    52
    Симпатии:
    1
    не получается поставить модуль погоды, на сайте выглядит с крокозябрами) кодировкой другой, хотя в модуле стоит win,
    Код:
    <?php 
    if(!defined('DATALIFEENGINE'))
    {
      die("Hacking attempt!");
    }
    if (!$meteo) {
    $city = "1653"; //город для  которого будет погода в данном случае Москва, берем на http://pogoda.mail.ru/informer/index.html
    
    $cache_file=$_SERVER['DOCUMENT_ROOT']."/engine/cache/meteo.txt";
    if (file_exists( $cache_file ) && date('H',filemtime($cache_file))== date("H", mktime(date("H"), 0, 0, 0, 0, 0))){
      $f=fopen($cache_file,"rb"); 
      $meteo=fread($f,filesize($cache_file));
      }
    else{
    $url = "http://pogoda.mail.ru/informer/weather.js?city=".$city."&view=2&encoding=windows-1251";
    $html = file_get_contents($url);
    $html = str_replace("document.writeln('",'',$html);
    $html = str_replace("');",'',$html);
    $html = preg_replace('/<h2>.*?<\/h2>/i','',$html);
    $html = preg_replace('/<a.*?[>^]/i','',$html);
    $html = str_replace('</a>','',$html);
    $html = str_replace('<br>подробный прогноз','',$html);
    $html = preg_replace('/<div class=\"top\">.*<\/div>/i','',$html);
    $html = str_replace(':1px solid #ced0d9;border-top','',$html);
    $meteo = str_replace('h1 a','h1',$html);
    @file_put_contents($cache_file,$meteo);
    }}
    на сайте кодировка виндовс 1251
     
    Последнее редактирование модератором: 6 сен 2013
  2. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.209
    Симпатии:
    2.236
    Сам файл модуля должен быть в кодировке cp1251 (ANSI), а он, скорее всего, в utf-8. Насколько понимаю, шаблоны модуль не использует, но если это не так - проверить кодировку шаблона.

    P.s. на будущее: 2 поста подряд - плохо, а в 1 посте надо версию ДЛЕ указывать.
     
  3. gon9

    gon9 Постоялец

    Регистр.:
    18 май 2013
    Сообщения:
    52
    Симпатии:
    1
    кодировка шаблона виндовс1251, файл модуля, написано 1251
     
  4. RayTraceR1

    RayTraceR1 Создатель

    Регистр.:
    27 июн 2009
    Сообщения:
    44
    Симпатии:
    15
    Пробуй тогда через iconv:
    после строки:
    $html = file_get_contents($url);
    добавь строку:
    $html = iconv( "UTF-8", "WINDOWS-1251", $html );

    Либо же через mb_convert_encoding:
    после итой же строки добавь:
    $html = mb_convert_encoding($html, "WINDOWS-1251", "UTF-8" );
     
    Off Road и Горбушка нравится это.
  5. gon9

    gon9 Постоялец

    Регистр.:
    18 май 2013
    Сообщения:
    52
    Симпатии:
    1
    увы, не получилось, ничего не изменилось
     
  6. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.209
    Симпатии:
    2.236
    Напиши мне в ICQ...

    Основной виновник - mail.ru - они не зависимо от выбранной кодировки, высылают код в UTF-8.
    Самый простой вариант - написать им в саппорт... А так, вечером код покопаю.
     
    Последнее редактирование: 6 сен 2013
  7. saifym

    saifym Создатель

    Регистр.:
    14 авг 2013
    Сообщения:
    27
    Симпатии:
    18
  8. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.209
    Симпатии:
    2.236
    Проверял? Протестировал? А я проверил и протестировал и посте выше сказал - что проблема у mail.ru... Не зависимости от указании кодировки (в том числе и win), mail.ru отдаёт файл в кодировке utf-8.
     
  9. RayTraceR1

    RayTraceR1 Создатель

    Регистр.:
    27 июн 2009
    Сообщения:
    44
    Симпатии:
    15
    Очень странно, у меня вот так отображается этот скрипт после некоторой правки:
    06.09.png
     
    Off Road и Горбушка нравится это.
  10. sdfrb

    sdfrb Создатель

    Регистр.:
    16 апр 2012
    Сообщения:
    12
    Симпатии:
    2
    Поставьте кодировку анси на все и удалите фалик
    meteo.txt
     
    Горбушка нравится это.