Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Не работает поиск по русским буквам.

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Hellraiser
phpBB 2.0.1
Сообщения: 258
Стаж: 20 лет

Не работает поиск по русским буквам.

Сообщение Hellraiser »

У меня проблема с поиском на русские слова.
С англиЦими все работает нормально, а вот русские искать он не хочет.
Облазил форум support на phpbb.com.Ничего путного ненашел.
На сервере не установлена locale 'ru_RU.CP1251'
На письмо в саппорт был получен такой ответ
База данных работает в кодировке koi8-r. Для строковых операций следует выставлять локаль "ru_RU.KOI8-R" посредством setlocale
У кого стоит локаль для CP.1251, у тех работает у моего хостера эта локаль не стоит.
Вопрос что делать?
Менять различные строки в search.php пробовал, непомогает.
Менял настройки локали в lang_mail.php, убирал ремарку, ставил setlocale(LC_ALL, 'ru_RU.KOI8-R') монопенисно :(.
Кто либо сталкивался с такой проблемой?
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

Хочу напомнить, что админы хостинга иногда тупят ...

В общем, попробуй такие варианты:

setlocale(LC_ALL, 'ru_RU.KOI8-R');
и
setlocale(LC_ALL, 'ru_RU.koi8r');

Добавлено спустя 16 минут 25 секунд:

Для проверки локали можешь использовать скрипт:

Код: Выделить всё

<?
   setlocale(LC_ALL, "ru_RU.CP1251");
   echo strtolower("ABC_АЁЯаёя")."<br>";
   echo strftime ("%A %B %Z")."<br>";
?>
Подставляй setlocale ...
Если будет строка 'aёяаёя' в нижнем регистре - все работает.
Если во второй строке будет 'Среда Декабря MSK' - то совсем все работает :D

По идее, можно вообще отказаться от setlocale.
Для этого нужно заменить последовательность a-z A-Z на

xC0-xFF для кодировки CP1251 или KOI8-R
x80-xAF xE0-xEF для кодировки CP866 DOS

Код: Выделить всё

  $plook=Array();
  $pchange=Array();
  $plook[]="/([^\wxC0-xFF])/is";
  $pchange[]="";
  $str=preg_replace($plook, $pchange, $text);
Этот пример вырежет из переменной $text все симоволы кроме английского и русского алфавита
ra
phpBB 2.0.2
Сообщения: 325
Стаж: 19 лет 11 месяцев
Откуда: Беларусь

Сообщение ra »

Hellraiser
language/lang_russian/lang_mailn.php:
// 2) Если не работает поиск по русскому тексту, то раскомментируйте следующую строку
// (может не сработать, если нет соответствующей локали: проконсультируйтесь у своего
// системного администратора):

// setlocale(LC_ALL, 'ru_RU.CP1251');
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

R@
дык он вроде пробовал ЭТО, и ему не помогло ...


Hellraiser
setlocale(LC_ALL, 'ru_RU.koi8r');
Пробовал?
Именно так в lang_main.php ...
Если не пробовал, попробуй, возможно будешь приятно удивлен :D

А ответили тебе скорее всего не хостер, а "дежурные мальчики у телефона" :D


Забыл добавить:
Если не поможет, попроси хостера внимательно посмотреть в директориях /usr/share/locale/ или /usr/lib/locale/
Именно там живет эта самая локаль :)

Кстати она может быть такой: ru_RU.cp1251 или такой: ru_RU.CP1251
Чуешь разницу?
Регистр важен !
ra
phpBB 2.0.2
Сообщения: 325
Стаж: 19 лет 11 месяцев
Откуда: Беларусь

Сообщение ra »

Jovani не заметил :roll:
Hellraiser
phpBB 2.0.1
Сообщения: 258
Стаж: 20 лет

Сообщение Hellraiser »

Jovani писал(а):Хочу напомнить, что админы хостинга иногда тупят ...

В общем, попробуй такие варианты:

setlocale(LC_ALL, 'ru_RU.KOI8-R');
и
setlocale(LC_ALL, 'ru_RU.koi8r');
setlocale(LC_ALL, 'ru_RU.koi8r');
Поиск заработал.
Подставил в lang_main.php.
Спасибо.
mricos
phpBB 1.2.0
Сообщения: 13
Стаж: 19 лет 4 месяца
Откуда: Москва

Сообщение mricos »

У меня аналогичная проблема была - не работал поиск русских слов.
Вроде бы установил
setlocale(LC_ALL, 'ru_RU.koi8r');
и поиск заработал, но как-то странно - выборочно. Смотрю в форум - вижу топики с текстом и знаю однозначно - слово есть, а через поиск - не находится, а некоторые слова нормально находятся.

Как вы думаете, с чем это может быть связано?
Все пройдет,
Пройдет и это.
http://mricos.com
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

Вроде бы установил
Вродебы, или установил? Проверь.
некоторые слова нормально находятся.
Нужно было пример привести.
Как вы думаете, с чем это может быть связано?
Причин много.
Сперва напиши подробно, какие именно слова у тебя не ищутся.
mricos
phpBB 1.2.0
Сообщения: 13
Стаж: 19 лет 4 месяца
Откуда: Москва

Сообщение mricos »

Установил. :-)

Например слово - "аватар" ищется (недавно его добавлял), а слово "помочь" - не находится, хотя это одна из последних тем.
Все пройдет,
Пройдет и это.
http://mricos.com
Hellraiser
phpBB 2.0.1
Сообщения: 258
Стаж: 20 лет

Сообщение Hellraiser »

Попробуй запустить rebild search, ищет он как то выборочно у тебя...

Добавлено спустя 30 секунд:

Всмысле он ижет помоему только в новых сообщениях
mricos
phpBB 1.2.0
Сообщения: 13
Стаж: 19 лет 4 месяца
Откуда: Москва

Сообщение mricos »

Hellraiser, ты уж прости меня,дурака непонятливого, а не подскажешь, где запустить этот самый
rebild search
?
Все пройдет,
Пройдет и это.
http://mricos.com
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

mricos
Попробуй, для эксперимента, создать тему со словами "помоь"
и "помоч"
То есть попробуй будут ли искаться слова "помоь" и "помоч"
mricos
phpBB 1.2.0
Сообщения: 13
Стаж: 19 лет 4 месяца
Откуда: Москва

Сообщение mricos »

Окей.
Это типа проверка на возможность проблемы с поиском НОВЫХ и СТАРЫХ сообщений?

Сейчас.

Добавлено спустя 2 минуты 28 секунд:

Да, два вновь созданных сообщения отлично нашлись, хотя старое сообщение в котором есть часть слова - "помоч" - не нашлось :-(
Все пройдет,
Пройдет и это.
http://mricos.com
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

mricos
Если будут находиться, то, скорее всего, при создании сообщения со словом "помочь", еще не была установлена локаль, и слово не попало в поисковые таблицы.

Добавлено спустя 1 минуту 19 секунд:
Да, два вновь созданных сообщения отлично нашлись, хотя старое сообщение в котором есть часть слова - "помоч" - не нашлось
Попробуй отредактировать то сообщение, которое не находится
Hellraiser
phpBB 2.0.1
Сообщения: 258
Стаж: 20 лет

Сообщение Hellraiser »

Вернуться в «Поддержка phpBB 2.0.x»