MODx AjaxSearch, проблемы с кодировкой в utf-8

С снипетом AjaxSearch возникла проблема — не хотел искать два и больше слов, а только одно. При нескольких словах как нивчём не бывало пишет что ничего не найдено. Гугл ответа не дал, зато нашлось решении другой проблемы:

В результатах поиска при использовании UTF-8 в описании страницы появляется символ �. Выглядит это неприятно. Соответственно вывод один — скрипт неправильно работает с кодировкой. Исправляется эта штука очень просто.

Добавляем сверху в файл /assets/snippets/ajaxSearch/classes/search.class.inc.php код:
mb_internal_encoding("UTF-8");

И обе проблемы лечатся нашей правкой.

MODx AjaxSearch, проблемы с кодировкой в utf-8: 9 комментариев

  1. ой спасибо тебе оооооогромное такое 🙂 полдня рыл ))))

  2. Рад помочь — сам в свое время «наигрался»

  3. Вставил, но почему-то все также находит лиш 1 слово, а если 2 и более, то выдает «Введите ваш запрос для начала поиска.» ((( В чем может быть проблема?

    mb_internal_encoding(«UTF-8»);
    define(‘MIN_CHARS’,3); // minimum number of characters
    define(‘MAX_CHARS’,30); // maximum number of characters
    define(‘MIN_WORDS’,1); // minimum number of words
    define(‘MAX_WORDS’,10); // maximum number of words
    define(‘EXTRACT_MIN’,50); // minimum length of extract
    define(‘EXTRACT_MAX’,800); // maximum length of extract

  4. Отписал на почту — будем диагностировать)

  5. Спасибо, помогло, все ищет все показывает

    mb_internal_encoding(«UTF-8»);
    define(‘MIN_CHARS’,3); // minimum number of characters
    define(‘MAX_CHARS’,30); // maximum number of characters
    define(‘MIN_WORDS’,1); // minimum number of words
    define(‘MAX_WORDS’,10); // maximum number of words
    define(‘EXTRACT_MIN’,50); // minimum length of extract
    define(‘EXTRACT_MAX’,800); // maximum length of extract

  6. AjaxSearch: unknown database_connection_charset = cp1251
    Add the appropriate Html charset mapping in the search.class.inc.php file

    А как быть с такой ошибкой?((
    Все возможные варианты перебрал!(

  7. Нужно немного поправить ajaxSearch.php
    Найдите в файле такой массив:
    $pageCharset = array( ‘utf8’ => ‘UTF-8’,
    ‘latin1’ => ‘ISO-8859-1’,
    ‘latin2’ => ‘ISO-8859-2’);

    и добавьте сюда свою кодировку

    $pageCharset = array( ‘utf8’ => ‘UTF-8’,
    ‘latin1’ => ‘ISO-8859-1’,
    ‘latin2’ => ‘ISO-8859-2’,
    ‘cp1251’ => ‘windows-1251’ );

    Если не поможет — пишите.

  8. Всё! ))) сделал! спасибо.
    А может подскажите теперь по какому адресу редактировать стандартную форму?
    Норм документации не могу найти на русском:(

  9. Василий, опишите проблему подробнее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *