Поддержка Проблемы и решения Перестал работать поиск на русском

  • Ребята, помогите, везде весь интернет облазил, никак не могу найти решение… После обновления до 4.7 перестал почему-то работать поиск на русском языке. Страничка просто перезагружается. На латинице если наабирать — всё работает… Relevanssi не установлен, кодировку пробовал менять в wp-config…

    /** Database Charset to use in creating database tables. */
    define(‘DB_CHARSET’, ‘utf8’);

    /** The Database Collate type. Don’t change this if in doubt. */
    define(‘DB_COLLATE’, »);

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Модератор Yuri

    (@yube)

    После обновления до 4.7

    С какой версии?

    кодировку пробовал менять в wp-config…

    А реально в базе какая кодировка?

    Юрий, phpMyadmin пишет: utf8mb4_unicode_ci
    С какой — не знаю, у меня стояло автоматическое обновление, сейчас я его отключил после того, как обновился до 4.7.5….

    меня стояло автоматическое обновление, сейчас я его отключил после того, как обновился до 4.7.5…

    Не нужно отключать обновлениями безопасности, а нужно разобраться с кодировками.

    phpMyadmin пишет: utf8mb4_unicode_ci

    Где «пишет»? Проверьте кодировки каждой таблицы, кодировку базы, кодировку сервера.

    SeVlad, подскажите пожалуйста, как узнать какая кодировка у каждой таблицы?

    phpMyadmin пишет: utf8mb4_unicode_ci

    Где «пишет»?

    на главной страничке phpmyadmin вверху — Основные настройки

    Кодировку каких именно таблиц в первую очередь посмотреть с моём случае?

    Модератор Yui

    (@fierevere)

    永子

    Итак, нашёл как посмотреть, на взгляд где-то по трети:
    utf8_unicode_ci
    utf8_general_ci
    utf8mb4_unicode_520_ci

    Влияет ли то, что кодировки различаются на поиск по товарам Woocommerce?
    На кодировку каких таблиц нужно обратить внимание в данном случае?

    utf8mb4_unicode_520_ci

    Ну вот жеж. (да и остальное нужно привести к одной кодировке)
    Но это таблицы как я понял. А сама база? См самая нижняя строка на скрине

    И какая версия MySql?.
    И про кодировку сервера Вы наверное ничего не узнали, раз промолчали.
    Если что проверить можно на http://bertal.ru/ забив в строку адрес статичного файла. Напр вашсайт/license.txt

    1. Сопоставление кодировки соединения: utf8_unicode_ci
    2. Кодировка БД (нижняя строка): utf8_unicode_ci
    3. Где посмотреть версию мускула — не нашёл..

    4. Кодировка сервера:
    Server: nginx
    Date: Sun, 04 Jun 2017 19:09:25 GMT
    Content-Type: text/html; charset=utf-8
    Transfer-Encoding: chunked
    Connection: keep-alive
    X-Powered-By: PHP/5.5.38
    Retry-After: 600

    5. К какой кодировке всё приводить?
    Я так понял, к utf8_unicode_ci.
    Но где-то прочитал, что из соображений какой-то безопасности, рекомендуют использовать utf8mb4….

    6. Каким образом теперь кодировку преобразовать? Ничего в тонкостях mysql не смыслю, но если есть алгоритм — то по нему смогу сделать…

    Где посмотреть версию мускула — не нашёл..

    Где-то в PMA можно найти. К сож сейчас не имею возможности посмотреть где именно. А можно и у хостера узнать 😉 .

    Я так понял, к utf8_unicode_ci.
    Но где-то прочитал, что из соображений какой-то безопасности, рекомендуют использовать utf8mb4

    Можно и к utf8_unicode_ci и к utf8_general_ci. Если у Вас не китайский язык на сайте, то разницы нет. 🙂

    К безопасности utf8mb4 отношения не имеет. Это 4хбайтная кодировка, для поддержки эмотиконов (не путать со смайлами).
    Приводить ли к utf8mb4 — зависит от версии MySql и сайта (нужны ли эмотиконы). Ниже 5,5,3 эта кодировка не поддерживается.

    Каким образом теперь кодировку преобразовать?

    В интернете масса рецептов. Можно попробовать скриптом: https://interconnectit.com/products/search-and-replace-for-wordpress-databases/ (я им не пробовал конвертить кодировки, но при конвертации типов таблиц он поломал индексы. Так что нужно будет перепроверять.)
    Но главное — не забывайте про бекап.

    чего ее преобразовать то?
    кликаем на таблицу, потом меню «операции», затем выбираем кодировку таблицы в «параметрах таблицы». все.

    если таблиц много, то это гимморойно, но со стандартным числом таблиц движка никаких проблем возникнуть не должно.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    перестал почему-то работать поиск на русском языке. Страничка просто перезагружается.

    При проблемах с кодировкой могут не находиться результаты, но просто так перезагружаться страница не должна. Думаю, проблема в чём-то другом — стоит выполнить пункты 4—6.

    Влияет ли то, что кодировки различаются на поиск по товарам Woocommerce?

    Если все начинаются с utf8 — не должно.

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Тема «Перестал работать поиск на русском» закрыта для новых ответов.