Добрый вечер, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 SX CMS / Баги и ошибки
         Поиск - проблема с кодировкой

Похожие темы

Поиск - проблема с кодировкой


События Среда, 18.11.2009, 03:07

Odyssey

Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
почти заработало :)
заглавные буквы англ - не обрабатываются
строчные англ. - подчеркиваются
рус строчные - не подчеркиваются, заглавные - подчеркиваются


>И после измения файла открывай страницу в новом окне, иначе изменения не отражаются
я обновляю страницу

>Кстати чем пишешь ролики? Что за софтина?
UVScreenCamera

только что прислали с хостинга по локали:
# locale -a | grep ru
ru_RU
ru_RU.cp1251
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8
russian
ru_UA
ru_UA.koi8u
ru_UA.utf8

ru_RU.CP1251 будет (она была точно) - сейчас апач перекомпилят сказали добавят
Вложения
Project005.rar   (3 x загружено | 124,4 Кб)   


Пользователь офлайн
События Среда, 18.11.2009, 03:20

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Это
$q = preg_replace('/[^:-A-Za-zА-Яа-яЁё0-9_. ]/', '', win1251(@$_REQUEST['q']));

Заменить на это
$q = preg_replace('/[^:-A-Za-zА-Яа-яЁё0-9_. ]/i', '', win1251(@$_REQUEST['q']));
Должно заработать


Пользователь офлайн
События Среда, 18.11.2009, 03:25

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
все работает, но русские строчные не подчеркиваются
проверил в IE, Opera, Safari - работает как надо. Затык с подчеркиванием строчных только в Firefox

+ бок с кавычками так и остался
сам поправил 65 строка, теперь без ковычек передается в формы поиска - зергуд!
PHP-код
if (strpos(strtolower($value), $q) !== false) echo stripslashes('' sysspecialchars($value)) . '' "\n";


ещё заметил различие по символам, так и должно быть ?:
в ajaxsearchshop.php
PHP-код
$query =  (isset($_REQUEST['content']) ) ?  trim(preg_replace('/[^ A-Za-zА-Яа-яЁё0-9-]/i'''$_REQUEST['content'])) : '';


в ajax-shopsearch.php
PHP-код
$q preg_replace('/[^:-A-Za-zА-Яа-яЁё0-9_. ]/i'''win1251(@$_REQUEST['q']));



Пользователь офлайн
События Среда, 18.11.2009, 13:15

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Так и быть у берем ковычки для большей совместимости, хотя у меня и с кавычками ищет.
Правильнее так
if (strpos(strtolower($value), $q) !== false) echo stripslashes(sysspecialchars($value)) . "\n";

ajaxsearchshop.php вообще можно выкинуть, он не используется



Пользователь офлайн
События Среда, 18.11.2009, 13:36

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
как добавить обработку символа "*"
заменяю на $q = preg_replace('/[^:-A-Za-zА-Яа-яЁё0-9_. \*]/i'
не работает
Пользователь офлайн
События Среда, 18.11.2009, 15:56

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Доберусь до дома погляжу, но этот фокус чреват нехорошими последствиями, у тебя символ стоит между цифрами, и он их может запросто умножать


Пользователь офлайн
События Четверг, 19.11.2009, 17:39

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
не смотрел по поводу "*" ?

скажи, а на главной странице есть поисковая форма, но там ajax не прикручен, можно ли это сделать?
Пользователь офлайн
События Пятница, 20.11.2009, 15:23

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Не успел посмотреть, в крмандировку отправили.

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


Пользователь офлайн
События Вторник, 01.12.2009, 00:21

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
ajax поиск и расширенный поиск - при вводе слов(а) идет переход не на страницу с найденным конкретно запросом, а вываливает все включения слов - в принципе логично и правильно, НО, т.к. настроена сортировка по Id по убыванию, прямой запрос искомых слов теряется во всей этой каше.

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

мало того, если в запросе будут цифры, вывалит сначала товар с этими цифрами (без искомого первого слова !), а потом искомые слова.

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

поиск на главной странице (по разделам) работает корректно.
Пользователь офлайн
События Четверг, 03.12.2009, 15:30

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
так понял почему не вываливает вхождения слов - кавычки то удалили !
включил кавычки так - работает !
PHP-код
    if (strpos(strtolower($value), $q) !== false) echo stripslashes('"' sysspecialchars($value)) . '"' "\n";



последний раз было
PHP-код
if (strpos(strtolower($value), $q) !== false) echo stripslashes(sysspecialchars($value)) . "\n"
Пользователь офлайн
События Четверг, 03.12.2009, 15:42

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Я тебе сразу про это говорил что идет разбор по кавычкам


Пользователь офлайн
События Четверг, 03.12.2009, 16:03

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
почему то тогда не фурычило :(
Пользователь офлайн
События Четверг, 03.12.2009, 16:38

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
заметил глюк в Opera 10.10.
в форме поиска ajax скролл работает, а вертикальный бегунок цепляешь курсором мыши и сразу закрывается весь список

во всех броузерах
также увидел, что если клавиатурой по списку идти (стрелка верх и низ) - то список не прокручивается, т.е. маркер уходит вниз а список стоит на месте
Пользователь офлайн
События Пятница, 15.01.2010, 12:18

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
опять возвращаюсь к проблеме с поиском.
если использовать обычный поиск, например запрос такой: бак вертикальный
поиск ничего не выдаст :(
если использовать расширенный поиск, то выдаст:
Картридж антибактериальный PR-KDF, PARZN (Китай)
Бак расширительный мембранный вертикальный 8 бар, -10С +110С, 2 л (VA2), IMERA (Италия)

логично было бы, если бы поиск был по полным вхождениям всех слов запроса в обычном поиске и по частям слов в расширенном поиске

как я понимаю, поиск на сайте задумывался в варианте "обычный поиск" - это поиск вхождений всех слов, а расширенный - это поиск вхождений всех частей слов + фильтр по цене, категории, производителю и предложениям.
Пользователь офлайн
События Пятница, 15.01.2010, 14:36

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Если в обычном поиске делать вариант со всеми вхождениями, то нужно убирать вывод подсказок на аяксе


Пользователь офлайн


Похожие темы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте

Пользователей: 0, Гостей: 6

Поисковые боты: 143
Bot(115), oBot(22), BingBot(3), Yandex, Googlebot(2)
 Статистика форума

  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: wonad81290
 Дни рождения

Сегодня нет именинников
Copyright © 2009 - 2024 SX All rights reserved | Powered by SX CMS 1.06 UTF | Контакты