Modx SimpleSearch: кириллица не найдена

Описание проблемы: на Revo есть сайт 2.4.2. Бабель Установлен в трех контекстах (Ру, Уа, Ен). Установлен SimpleSearch 1.9.2. Проблема в невозможности поиска кириллического слова (ничего не найдено). Латинский поиск правильный. Везде установлен UTF-8.

Ожидаемый результат: начать поиск русских символов.

  • MODX версия: 2.4.2
  • Версия PHP: 5.4.45
  • Версия базы данных: 5.5.46
  • Установленные дополнения MODX: Ace, Archivist, Статьи, Babel, BreadCrumb, Диспетчер часто задаваемых вопросов, загрузка файлов, getPage, getResources, GoogleSiteMap, MetaX, modxtalks, phpThumbOf, Quip, SimpleSearch, taglister, TinyMCE, транслит
  • Содержание журнала ошибок: ничего.

Форма:

[[!SimpleSearchForm? &method=`GET` &landing=`[[++searchlid]]` &tpl=`lisearch` &searchIndex=`query`]]

searchlid - разные для каждого контекста.

lisearch:

<form class="search" action="[[~[[+landing:default=`[[*id]]`]]]]" method="[[+method:default=`get`]]">
       <input type="text" placeholder="[[%babel.placeholder_[[++cultureKey]]]]" name="[[+searchIndex]]" id="[[+searchIndex]]"/>
                            <input type="submit" id="search_btn" value=""/>
                            <input type="hidden" name="id" value="[[+landing:default=[[*id]]]]" />
</form>

mysql> показывать переменные типа 'char%';

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.03 sec)

mysql> показать переменные типа 'collation%';

+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_unicode_ci |
| collation_server     | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)

В шаблоне:

<meta charset="utf-8"/>
<meta http-equiv="content-language" content="ru" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

В чем может быть проблема?

Заранее спасибо.

2 ответа

Решение

Удивительно, но проблема была решена удалением из параметров сниппета. Я не знаю, с чем это связано.

Рабочая версия:

[[!SimpleSearchForm? &landing=`[[++searchlid]]` &tpl=`lisearch`]]

и просто

[[!SimpleSearch]]

на странице Landind.

Не могли бы вы найти таблицу базы данных и сопоставления полей? Они должны использовать все UTF8 и utf_general_ci или utf8_unicode_ci.

Другая проблема может быть вызвана символами UTF-8, закодированными как HTML-объекты в полях с расширенным текстом. Возможно, эти объекты не найдены, потому что выполняется только необработанный поиск (я не знаю, как простой поиск подготавливает поиск).

Третья проблема может быть вызвана неправильной кодировкой HTML в шаблоне. Это приведет к неправильным символам в размещенной строке поиска.

Другие вопросы по тегам