We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 4567
    • 5 Posts
    Добрые люди, помогите пожалуйста с AjaxSearch.
    Версия AjaxSearch 1.1, modx 0.9.5. На cайте и в базе данных кодировка UTF-8

    1. AjaxSearch ничего не находит если давать запросы отличным от английского языка. Пробовал прописывать в сниппете mb_internal_encoding("UTF-8"); - не помогло. Если у кого есть рабочее решение проблемы, то буду благодарен если поделитесь им.

    2. Необходимо, чтобы в результаты поиска выводились найденные куски текста с определенным словом со всего документа. Например, если в одном документе встречается в двух разных местах одно поисковое слово, то в результат поиска выводились куски тех мест где это слово попадается.
      • 23695
      • 230 Posts
      насчет UTF8 не знаю, но вот мое решение для CP1251

      все изменения происходят в файле /assets/snippets/AjaxSearch/AjaxSearch.php

      строка 31
      	$needsConvert = (strtoupper(mb_internal_encoding()) == "UTF-8") ? false : true;
      

      меняем на
      	$needsConvert = (strtoupper(mb_internal_encoding()) == "cp1251") ? false : true;
      

      строка 36
      	$searchString = mb_convert_encoding($_GET['search'], ini_get('mbstring.internal_encoding'), "UTF-8");
      

      меняем на
      	$searchString = mb_convert_encoding($_GET['search'], "cp1251", "UTF-8");
      

      строка 40 и 41
      		$resultsIntroFailure = mb_convert_encoding($resultsIntroFailure, "UTF-8");
      		$moreResultsText = mb_convert_encoding($moreResultsText, "UTF-8");
      

      меняем на
      		$resultsIntroFailure = mb_convert_encoding($resultsIntroFailure, "cp1251", "UTF-8");
      		$moreResultsText = mb_convert_encoding($moreResultsText, "cp1251", "UTF-8");
      

      строка 106
                  $result = mb_convert_encoding($result, "UTF-8");
      

      меняем на
                  $result = mb_convert_encoding($result, "UTF-8", "cp1251");
      
        • 4567
        • 5 Posts
        Спасибо за ответ, кому-то наверняка пригодится. Но меня все-таки интересует рабочий поиск с кодировкой  UTF-8. На английском форуме посмотрел, что такие проблемы тоже встречаются и решения никто не написал. Неуж-то в русском комьюнити modx нет ни у кого рабочих сайтов с кодировкой utf-8 и поиском ajaxsearch?