Импорт с помощью RSS Simple Feed Reader. Моё решение проблемы с кодировками.

Discussion in 'Кодировки, ошибки отображения (крякозябры)' started by alexPar, Jan 23, 2009.

  1. Offline

    alexPar Недавно здесь

    Joined:
    Jul 30, 2008
    Messages:
    16
    Likes Received:
    0
    Gender:
    Male
    У меня сайт выдаётся в кодировке windows-1251, а импорт RSS заголовков осуществляется в кодировке UTF-8.
    В итоге, заголовки выдавались кракозябрами.
    Как я решил проблему:
    В файле mod_jw_srfr.php:
    1. Нашёл строки, в которых выдаётся заголовок фида (у меня начинается со строки 160):

    Код (PHP):
    1. <!-- feed item title -->
    2.       <?php if($srfr_fititle) { ?>
    3.       <a class="srfr-feed-title" target="_blank" href="<?php echo $item->get_permalink(); ?>">
    4.         <?php echo $item->get_title(); ?>
    5.       </a>
    6.       <?php } ?>


    и заменил на:

    Код (PHP):
    1. <!-- feed item title -->
    2.       <?php if($srfr_fititle) { ?>
    3.       <a class="srfr-feed-title" target="_blank" href="<?php echo $item->get_permalink(); ?>">
    4.         <?php
    5.         $item_title = $item->get_title();
    6.         $item_title = iconv('utf-8','windows-1251',$item_title);
    7.         echo $item_title;  
    8.     ?>

    Собственно, ничего особенного я не сделал - просто перед выводом заголовка его обрабатывает функция iconv('utf-8','windows-1251',$item_title);

    2. И то же самое проделал для текста фида:

    Исходные строки (у меня начинается на строке 184)
    Код (PHP):
    1. <!-- feed item intro/full text -->
    2.       <?php
    3.         // Assign
    4.         $introtext = $item->get_description();
    5.         $fulltext = $item->get_content();


    заменил на следующие

    Код (PHP):
    1. <!-- feed item intro/full text -->
    2.       <?php
    3.         // Assign
    4.         $introtext = $item->get_description();
    5.         $fulltext = $item->get_content();
    6.        
    7.         $introtext = iconv('utf-8','windows-1251',$introtext);
    8.         $fulltext = iconv('utf-8','windows-1251',$fulltext);


    Вот вроде и всё. Кому интересно подробнее почитать, то описание функции iconv вот http://www.php.net/manual/ru/function.iconv.php.

    Для моих нужд этих исправлений хватило. Для более общего случая, наверное, можно сделать автоопределение кодировки импортируемого фида.
     
  2.  
  3. Offline

    gaponds Недавно здесь

    Joined:
    Feb 5, 2009
    Messages:
    3
    Likes Received:
    0
    Спасибо братан. Я по природе туповат и принялся искать другой файл. Для таких же как я, туго соображающих-речь идет о редактировании одного файла в двух местах. Спасибо все работает супер. Кстати ищу админа
     

Share This Page

Loading...