Выборочная кракозябра

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

  1. Offline

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

    Регистрация:
    05.07.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    Добрый день!У меня на сайте вот такая фигня получается!сайт http://forum.kmv-portal.ru/
    Как видите вместо некоторых русских букв знаки вопроса!Как лечить?
     
  2.  
  3. ycsus
    Offline

    ycsus Недавно здесь => Cпециалист <=

    Регистрация:
    19.02.2011
    Сообщения:
    249
    Симпатии:
    33
    Пол:
    Мужской
    Скорей всего для обрезки текста в модуле юзают substr(), а для кирилицы такое никак не катит, нужно заменить sustr() на mb_substr(), только не забудьте что там на один параметр больше нужно передать.
     
  4. Offline

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

    Регистрация:
    05.07.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    а почему тогда в одном и томже модуле, в некотором нарамально отображается, а в некоторых нет!
    и вопрос где это прописать?
     
  5. Offline

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

    Регистрация:
    05.07.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    не решена!
     
  6. ycsus
    Offline

    ycsus Недавно здесь => Cпециалист <=

    Регистрация:
    19.02.2011
    Сообщения:
    249
    Симпатии:
    33
    Пол:
    Мужской
    Дело в том что по сути кирилица в утф8 состоит из 2х символов. Вышеприведенная функция обрезает по кол-ву символов. Иногда попадает как раз между одной буквой, что хреново воспринимается браузером. Прописать это нужно в модуле, найти где юзается substr() и прописать вместо неё mb_substr(), посмотреть как правильно её вызывать можно на пхп.су
     
  7. Offline

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

    Регистрация:
    05.07.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    Код (html):
    1. $date = JHTML::_('date', $row->created, '%d-%m-%Y');
    2.         $intro  = mb_substr(strip_tags($row->introtext),0,$chars)."...";
    3.         $link = ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid);
    4.         $img_url = article_image($row);
    5.         $img_out = '';
    6.         if(isset($img_url) && $img_url != "") $img_out="<a href=\"".JRoute::_($link)."\"><img src=\"".$img_url."\" border=\"0\" height=\"".$imgheight."\" align=\"".$imgalign."\" title=\"".$row->title." \" width=\"".$imgwidth."\" alt=\"\"/></a>";
    7.         echo "<div class=\"yjnewsflash\">";
    8.         if($showimage == 1){
    9.             if($imgalign == 'left' || $imgalign == 'right' || $imgalign == 'top'){
    10.                 if($imgalign == 'top'){
    11.                     echo '<div class="nfimgpos">';


    где ошибка?
     
  8. Offline

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

    Регистрация:
    05.07.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    это кусок кода из модуля
     
  9. ycsus
    Offline

    ycsus Недавно здесь => Cпециалист <=

    Регистрация:
    19.02.2011
    Сообщения:
    249
    Симпатии:
    33
    Пол:
    Мужской
    нужно указать еще кодировку, я ж давал ссылку на функцию. У тебя:
    Код (PHP):
    1. $intro  = mb_substr(strip_tags($row->introtext),0,$chars)."...";

    Нужно:
    Код (PHP):
    1. $intro  = mb_substr(strip_tags($row->introtext),0,$chars,'UTF-8')."...";


    Кстати зачем у тебя на сайте указано 2 кодировки в метах? и утф и 1251
     
    anbelaev нравится это.
  10. Offline

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

    Регистрация:
    05.07.2011
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    Действительнно, почему так!я даж не заметил"спасибо!
     
  11. rabamaster
    Offline

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

    Регистрация:
    08.07.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    У меня такая же ерунда на сайте http://helpcentr.org.ua/
    Но, где заменить substr на mb_substr() не найду.
    Проблемы с модулем mod_latestnews и mod_mostread последняя буква виде ?
    В модулях нет команды substr. Где ее искать? Где заменить?
    Пробовал поиск по всему пакету Joomla - выдало около 300 файлов.

    Помогите плиз.
     
  12. rabamaster
    Offline

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

    Регистрация:
    08.07.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Щас в щаблоне посмотрю, неужели все так просто...
    отпишу, если это так - вот я дурак
     
  13. rabamaster
    Offline

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

    Регистрация:
    08.07.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Ребята, я любдю вас!!![!]
    Оказывается это все дело находится в файле шаблона Joomla там в папке html добавляются папки с названием модуля!! И в них файлы default.php содержат все что нужно ставлю плюсики за то, что натолкнули на мысль !!!!!!!!
     
  14. rabamaster
    Offline

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

    Регистрация:
    08.07.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Всем спасибо РЕШЕНО кракозябра в Joomla
     

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

Загрузка...