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

Тема в разделе "Кодировки, ошибки отображения (крякозябры)", создана пользователем alexPar, 23.01.2009.

  1. Offline

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

    Регистрация:
    30.07.2008
    Сообщения:
    16
    Симпатии:
    0
    Пол:
    Мужской
    У меня сайт выдаётся в кодировке 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 Недавно здесь

    Регистрация:
    05.02.2009
    Сообщения:
    3
    Симпатии:
    0
    Спасибо братан. Я по природе туповат и принялся искать другой файл. Для таких же как я, туго соображающих-речь идет о редактировании одного файла в двух местах. Спасибо все работает супер. Кстати ищу админа
     

Поделиться этой страницей

Загрузка...