После обновления форума до 3.0.14 поиск стал регистрозависимым Тема решена
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
SHOCK
- phpBB 1.4.3
- Сообщения: 91
- Стаж: 22 года 3 месяца
- Благодарил (а): 14 раз
После обновления форума до 3.0.14 поиск стал регистрозависимым
После обновления форума до 3.0.14 поиск стал регистрозависимым
Здравствуйте!
Вот такая проблема нарисовалась. Знания малы и видимо потому сам не справился. Помогите пож.
поиск Fulltext mysql
Если вопрос в деньгах , то готов оплатить. только на сервер не могу пускать никого(сорри).
P/S Не похоже что дело в Мускуле или ПХП, так как рядом на сервере сидит Joomla и ещё некий софт который ищет как надо.
Описание проблемы: Поиск стал регистрозависимым
Произведенные изменения, после которых начались неполадки: После обновления форума до 3.0.14 поиск стал регистрозависимым
Версия phpBB: 3.0.14
Используемые стили: просильвер
Версия PHP:: PHP 5.6.23
Используемая СУБД и её версия: MySQL 5.7.13
Использовался ли поиск для решения проблемы: Искал, с двух подходов ничего не нашёл
Если да, то какие запросы вы использовали: регистрозав* поиск
Здравствуйте!
Вот такая проблема нарисовалась. Знания малы и видимо потому сам не справился. Помогите пож.
поиск Fulltext mysql
Если вопрос в деньгах , то готов оплатить. только на сервер не могу пускать никого(сорри).
P/S Не похоже что дело в Мускуле или ПХП, так как рядом на сервере сидит Joomla и ещё некий софт который ищет как надо.
Описание проблемы: Поиск стал регистрозависимым
Произведенные изменения, после которых начались неполадки: После обновления форума до 3.0.14 поиск стал регистрозависимым
Версия phpBB: 3.0.14
Используемые стили: просильвер
Версия PHP:: PHP 5.6.23
Используемая СУБД и её версия: MySQL 5.7.13
Использовался ли поиск для решения проблемы: Искал, с двух подходов ничего не нашёл
Если да, то какие запросы вы использовали: регистрозав* поиск
-
LONER
- phpBB 3.0.0 RC1
- Сообщения: 1486
- Стаж: 10 лет 8 месяцев
- Благодарил (а): 164 раза
- Поблагодарили: 247 раз
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
С одного подхода нашел
Регистр символов при поиске
Проблема с поиском после восстановления
проблема с никами с разным регистром
Нужен регистронезависимый поиск на русском.
А если попробовать пересоздать поисковые индексы?
Правильно заданный вопрос и описание проблемы - 70% их решения...
-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 9 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
SHOCK,
На всякий случай посмотрите какой COLLATE у столбцов post_subject и post_text таблицы phpbb_posts.
Для FullText MySQL должно быть utf8_unicode_ci.
На всякий случай посмотрите какой COLLATE у столбцов post_subject и post_text таблицы phpbb_posts.
Для FullText MySQL должно быть utf8_unicode_ci.
-
SHOCK
- phpBB 1.4.3
- Сообщения: 91
- Стаж: 22 года 3 месяца
- Благодарил (а): 14 раз
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
LONER,
это и я нашёл, но результата не добился никакого
например по ссылкам
1.
Кодировка сервера: UTF-8 Unicode (utf8)
что здесь не так?
2.
создал 1372939
удаляются и создаются, медленно, но и база не самая маленькая.
что не так?
последние 2 ссылки вроде как не по этой ветке
жду ещё новых идей
nissin,
post_subject varchar(255) utf8_unicode_ci
post_text mediumtext utf8_unicode_ci
P.S. спасибо что пытаетесь помочь...
это и я нашёл, но результата не добился никакого
например по ссылкам
1.
вот что у меня - post_text mediumtext utf8_unicode_ci
Кодировка сервера: UTF-8 Unicode (utf8)
что здесь не так?
2.
удалил индексы 1372938
создал 1372939
удаляются и создаются, медленно, но и база не самая маленькая.
что не так?
последние 2 ссылки вроде как не по этой ветке
жду ещё новых идей
nissin,
проверил
post_subject varchar(255) utf8_unicode_ci
post_text mediumtext utf8_unicode_ci
P.S. спасибо что пытаетесь помочь...
-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 9 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
Сделайте резервную копию и выполните SQL запрос:
Код: Выделить всё
ALTER TABLE phpbb_posts CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci-
SHOCK
- phpBB 1.4.3
- Сообщения: 91
- Стаж: 22 года 3 месяца
- Благодарил (а): 14 раз
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
nissin,
Боевой сервер пока не трогаю(если локально получится, то позже), а пока в phpadmin попробовал поиском по боевой таблице phpbb_posts
Ищет как надо - регистронезависимо.
Правильно понимаю, что кажется не в БД дело, а похоже в скриптах???
так как локально та же самая проблема(софт тех же версий), то пока запустил команду локально под ОпенСервером, конвертится уже с час точно
Боевой сервер пока не трогаю(если локально получится, то позже), а пока в phpadmin попробовал поиском по боевой таблице phpbb_posts
Ищет как надо - регистронезависимо.
Правильно понимаю, что кажется не в БД дело, а похоже в скриптах???
-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 9 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
А как искали по боевой таблице?
Нужно что-то вроде:
Нужно что-то вроде:
Код: Выделить всё
SELECT * FROM phpbb_posts WHERE MATCH(post_text) AGAINST ('+Слово' IN BOOLEAN MODE)-
SHOCK
- phpBB 1.4.3
- Сообщения: 91
- Стаж: 22 года 3 месяца
- Благодарил (а): 14 раз
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
А похоже что это помогло!!!
Теперь выдаёт одинаковое кол-во, что с большой буквы, что с маленькой. Правда раньше в таком виде не пробовал делать, искал средствами phpmyadmin
Но таки Остался один минус, не выделяет цветом те слова в которых регистр хоть одной буквы не попал как надо под запрос.
Я смотрю, сравниваю search.php и похоже вижу что там с этой версией внесены изменения в нескольких местах, отвечающих за подсветку.
А тямы не хватает понять в чём проблема и навредить боюсь
-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 9 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
OPEN search.php
FIND
REPLACE WITH
FIND
REPLACE WITH
Нужна поддержка UTF-8 в библиотеке PREG, но как правило сейчас это практически всегда есть.
FIND
Код: Выделить всё
$row['topic_title'] = preg_replace('#(?!<.*)(?<!\w)(' . $hilit . ')(?!\w|[^<>]*(?:</s(?:cript|tyle))?>)#is', '<span class="posthilit">$1</span>', $row['topic_title']);Код: Выделить всё
$row['topic_title'] = preg_replace('#(?!<.*)(?<!\w)(' . $hilit . ')(?!\w|[^<>]*(?:</s(?:cript|tyle))?>)#isu', '<span class="posthilit">$1</span>', $row['topic_title']);Код: Выделить всё
$row['post_text'] = preg_replace('#(?!<.*)(?<!\w)(' . $hilit . ')(?!\w|[^<>]*(?:</s(?:cript|tyle))?>)#is', '<span class="posthilit">$1</span>', $row['post_text']);
$row['post_subject'] = preg_replace('#(?!<.*)(?<!\w)(' . $hilit . ')(?!\w|[^<>]*(?:</s(?:cript|tyle))?>)#is', '<span class="posthilit">$1</span>', $row['post_subject']);Код: Выделить всё
$row['post_text'] = preg_replace('#(?!<.*)(?<!\w)(' . $hilit . ')(?!\w|[^<>]*(?:</s(?:cript|tyle))?>)#isu', '<span class="posthilit">$1</span>', $row['post_text']);
$row['post_subject'] = preg_replace('#(?!<.*)(?<!\w)(' . $hilit . ')(?!\w|[^<>]*(?:</s(?:cript|tyle))?>)#isu', '<span class="posthilit">$1</span>', $row['post_subject']);-
SHOCK
- phpBB 1.4.3
- Сообщения: 91
- Стаж: 22 года 3 месяца
- Благодарил (а): 14 раз
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
nissin, Просто Красота!
Оказывается он ещё хуже выделял до этого, после изменения кода кучу слов отмечает, которые я не замечал просто а теперь все видно,
хоть с большой, маленькой или отдельно написаны, короче всё видно
Спасибо ОГРОМНОЕ!
Оказывается он ещё хуже выделял до этого, после изменения кода кучу слов отмечает, которые я не замечал просто а теперь все видно,
хоть с большой, маленькой или отдельно написаны, короче всё видно
Спасибо ОГРОМНОЕ!
-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
Почему здесь всё подсвечивается? Может, дело не в регулярке?
Отправлено спустя 1 минуту 20 секунд:
Видимо, дело в локали на сервере.
Отправлено спустя 1 минуту 20 секунд:
Видимо, дело в локали на сервере.
-
SHOCK
- phpBB 1.4.3
- Сообщения: 91
- Стаж: 22 года 3 месяца
- Благодарил (а): 14 раз
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
rxu, очень может быть, но это помогло
как и почему, нет возможности разбираться.
У вас есть предположения?
О, вы уже и ответили
как и почему, нет возможности разбираться.
У вас есть предположения?
О, вы уже и ответили
-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
SHOCK, попробуйте выполнить скрипт
И покажите результат.
Код: Выделить всё
<?php
echo locale_get_default(); -
SHOCK
- phpBB 1.4.3
- Сообщения: 91
- Стаж: 22 года 3 месяца
- Благодарил (а): 14 раз
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
здесь разве 3.0.14 ?
проверил
что-то не так?
проверил
Код: Выделить всё
# locale -a | grep ru_RU
ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: После обновления форума до 3.0.14 поиск стал регистрозависимым
Это ничего не дает. Надо узнать, какая именно локаль работает в момент выполнения скрипта. Я выше показал, как.
Отправлено спустя 5 минут 59 секунд:
Отправлено спустя 5 минут 59 секунд:
Это не имеет значения, т.к. указанные выше строки в search.php те же самые. Здесь, кстати говоря,
en_US_POSIX, и всё работает. Видимо, дело как раз в этом.
