Раздача Хак Буква е и ё при поиске для cp1251

[HIDEL="1"]Хак Буква е и ё при поиске для cp1251
Может кто-то не знает, а кому-то это известно что в кодировке cp1251 базы данных, такие символы как е и ё считаются разными в то время как в utf-8 они считаются за одинаковые. Этот хак позволит сделать что бы символы е и ё считались как одинаковые для поиска новостей.

Установка хака Буква е и ё при поиске для cp1251 для DLE:
1. Открыть /engine/ajax/search.php найти:
$query = $db->safesql( htmlspecialchars ( trim( strip_tags (convert_unicode( $_POST['query'], $config['charset'] ) ) ), ENT_QUOTES, $config['charset']) );

Заменить на:
$query = $db->safesql( htmlspecialchars ( trim( strip_tags ( $_POST['query']) ), ENT_QUOTES, $config['charset']) );

Далее найти:
$db->query("SELECT id, short_story, title, date, alt_name, category FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.approve=1".$this_date." AND (short_story LIKE '%{$query}%' OR full_story LIKE '%{$query}%' OR xfields LIKE '%{$query}%' OR title LIKE '%{$query}%') ORDER by date DESC LIMIT 5");

Заменить на:
$db->query("SELECT id, short_story, title, date, alt_name, category FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.approve=1".$this_date." AND (short_story LIKE _utf8 '%{$query}%' COLLATE utf8_general_ci OR full_story LIKE _utf8 '%{$query}%' COLLATE utf8_general_ci OR xfields LIKE _utf8 '%{$query}%' COLLATE utf8_general_ci OR title LIKE _utf8 '%{$query}%' COLLATE utf8_general_ci) ORDER by date DESC LIMIT 5");

2. Открыть /engine/modules/search.php найти:
// Поиск по ключевым словам
Ниже вставить:
$story = mb_convert_encoding($story, 'utf-8', "cp1251");

Далее найти:
$titleonly_where = array ('0' => "MATCH(title,short_story,full_story,xfields) AGAINST ('{story}' IN BOOLEAN MODE)", // Искать только в статьях
Заменить на:
$titleonly_where = array ('0' => "MATCH(title,short_story,full_story,xfields) AGAINST (_utf8 '{story}' COLLATE utf8_general_ci IN BOOLEAN MODE)", // Искать только в статьях

Далее найти (2 РАЗА):
'3' => "title LIKE '%{story}%'" ); // Искать только в заголовках статей
Заменить на (2 РАЗА):
'3' => "title LIKE _utf8 '%{story}%' COLLATE utf8_general_ci" ); // Искать только в заголовках статей

Далее найти:
$titleonly_where = array ('0' => "short_story LIKE '%{story}%' OR full_story LIKE '%{story}%' OR xfields LIKE '%{story}%' OR title LIKE '%{story}%'", // Искать только в статьях

Заменить на:
$titleonly_where = array ('0' => "short_story LIKE _utf8 '%{story}%' COLLATE utf8_general_ci OR full_story LIKE _utf8 '%{story}%' COLLATE utf8_general_ci OR xfields LIKE _utf8 '%{story}%' COLLATE utf8_general_ci OR title LIKE _utf8 '%{story}%' COLLATE utf8_general_ci", // Искать только в статьях

Требования к установке:
Версия DLE: 9.0 и выше
Кодировка: CP1251
Версия php: 5.3 и выше [/HIDEL]
 

а что это даёт, что-то не совсем понятно
если у Вас CMS DLE, то при поиске "В лесу родилась елочка" - будут разные результаты. Данный же фикс как я понял решает эту проблему и буквы е/ё - считаются одинаковыми.
 

Рекламное сообщение
📣 Клубы Web-Master, Traffic (Instagram, Google, Яндекс) и Нейросети вновь доступны для всех желающих!

Что изменилось:
  • Клуб Web-Master совмещен с клубом по Трафику. Теперь вы получаете доступ сразу ко всем материалам всех тематических клубов. В клубе по трафику вы получаете доступ к блокам по Instagram (+ серые/черные ниши), Яндекс и Google. Материалы доступны для изучения сразу. Больше нет необходимости покупать эти направления по отдельности. Вступаете и изучаете только то, что вам нужно.
  • В совмещенных клубах появилась собственная биржа заказов.
  • До вступления в клуб теперь доступна бесплатная 15-минутная консультация с куратором.
  • Направление открыто до конца года, возможно, закроем немного раньше. С 2025 года мы полностью убираем эти направления для новых пользователей.
  • Стоимость доступа к совмещенным клубам - 150 + 100 USD.
  • Текущие пользователи клубов Веб-мастер и Трафик получат возможность присоединиться к соседнему клубу по отличным условиям.
  • Стоимость доступа клуба по нейросетям осталась, как и была. В клубе сейчас почти 200 участников. Совсем скоро появится блок по нейро-музыке, на который участники клуба получат 50% скидку. После выхода блока в свет, общая стоимость клуба по нейросетям повысится.
🟢 ПОДРОБНОСТИ
 

Обратите внимание

Назад
Сверху