Настройка скрипта PHPru_Search 2.7 под UTF-8

braso

Новичок
20 лет сайт проработал на кодировке windows-1251. Стоял скрипт поиска сначала PHPru_Search 2.6, затем обновил до версии 2.7. Есть конечно же и кое - какие претензии к скрипту, но мирился с недостатками и в целом работа скрипта меня устраивала. Из-за шрифтов и англоязычных пользователей, которые иногда заглядывают на сайт пришлось перейти на кодировку UTF-8. Это предыстория.

Скрипт PHPru_Search 2.7 написан и работает под кодировку windows-1251. Пытался перекодировать под UTF-8 - результат плачевный. Вот что я нашёл по переводу скрипта на работу с кодировкой UTF-8

1) Все файлы из архива распаковываем в папку. Открываем все через notepad++. И в каждом нажимаем преобразовать в кодировку UTF-8 без bom.
2) Во всех файлах поиском ищем windows-1251 и меняем на UTF-8
3) Ищем функцию PHPruLow($input) и внутренность меняем на:

{
$down = mb_convert_case($input, MB_CASE_LOWER,'UTF-8');
return ($down);
}

4) Писаем во все стороны от радости так как все заработало. Но только после того как поменяем еще в одном месте $temp = explode('%%%',mb_convert_case($content, MB_CASE_LOWER,'UTF-8'));

К сожалению всё (кроме пункта №3), что было написано автором перевода скрипта на UTF-8 в итоге оказалось нерабочим. Пишу что и как . . .

1. После перекодирования с windows-1251 на UTF-8 без BOM невозможно войти в скрипт через пользователь admin и пароль pass
Пришлось закидывать скрипт в windows-1251 и пользоваться админкой с windows-1251. Вхожу в админку нормально, всё читаемо, настраиваю, пробую искать - ессссно - часть читаемо, часть кракозябры. Далее начинаю выборочно отдельные файлы конвертировать в UTF-8. В итоге Итог плачевный. Под UTF-8 скрипт так и не заработал. Друзья, выручайте!

Скрипт можно скачать по ссылке: PHPruSearch_2.7
 
Последнее редактирование:

Valick

Новичок
скрипт необходимо переписать "с ног до головы", вряд ли за это кто-то возьмётся бесплатно.
я бы вам посоветовал поискать другой скрипт поиска.
PHP:
function PHPruLow($input)
{
    $UP = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯQWERTYUIOPASDFGHJKLZXCVBNM';
    $low = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюяqwertyuiopasdfghjklzxcvbnm';
    $down = strtr($input, $UP, $low);
    return ($down);
}
 

AmdY

Пью пиво
Команда форума
@braso а не проще было бы разобраться. что не так было с англоязычными пользователями. Похоже, всего-то надо было их браузерам подсказать правильную кодировку заголовком на уровне php или конфига веб-сервера.
 

braso

Новичок
Не проще. Возможности по отображению шрифтов разные. Я уже почти 3500 страниц сайта перевёл в UTF-8. Это все страницы сайта вместе с галереями. Возвращаться назад на кодировку ANSI не хочу. Если не удасться запустить этот скрипт на UTF-8 то, конечно же, буду искать замену скрипту. Ссылка на сайт
 
Последнее редактирование:

AmdY

Пью пиво
Команда форума
Перекодировать можно за пару секунд https://www.tecmint.com/convert-files-to-utf-8-encoding-in-linux/
Сам скрипт перевести с наскока не получится, он мало того что без поддержки юникода писался, так ещё во времена php4, на семёрке многих функций уже даже нет вроде того же eregi_replace
 

braso

Новичок
Спасибо! У меня есть программа, которая прекрасно справляется с конвертацией. Правда она предназначена для конвертации TXT с ANSI в UTF-8. Но работает без проблем с HTML. Весь сайт я перекодировал этой прогой также менее чем за пару минут. Никаких проблем после перекодирования не возникло. Насчёт скрипта - я нашёл более раннюю версию этого скрипта этого же автора. Кажется версия 1.0. Скрипт работает нормально при перекодировании файлов скрипта с расширением php с ANSI на UTF-8. Но там урезан сервис. Нет админки. Подружить бы админку версии 2.7 с более ранней 1.0 . . . В принципе, в крайнем случае, можно использовать и эту версию. Пока пробую . . . особо спешить некуда.

Ну и ещё - я перебирал некоторые скрипты, которые есть в сети. К сожалению несколько скриптов были с ошибками в коде. Сайтов разработчиков скриптов уже нет, скачать напрямую у разработчика неоткуда. К примеру поисковый скрипт RiSearch, который нашёл в сети, с ошибкой . . .
 
Последнее редактирование:

braso

Новичок
Думал об этом. Я использую PHP Expert Editor v.4.3 . . ."лохматых годов" аж 2004года, тех годов, когда и писался поисковый скрипт (v.1.0 - 2003г., v.2.6 - 2.7 - 2003 -2004г.). Чисто в редакторе скрипт чистый, забрасываю на хостинг - вылетают ошибки.
 

braso

Новичок
В админку заходит. Проблема была в отсутствии точки в файле htaccess осталось решить две проблемы:
1. В настройках в админке, к примеру, ставишь показывать результат 7 ссылок, показывает все ссылки. которые скрипт нашёл.
2. Выводит результат на русском, кроме описания ссылок.
 
Сверху