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


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

Похожие темы  |  Печать страницы

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


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

Odyssey

Группа: Пользователь
Ранг: Мастер
Cообщений: 566
Регистрация: 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

Status-X

Группа: Администратор
Cообщений: 3005
Регистрация: 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ообщений: 566
Регистрация: 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

Status-X

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

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



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

Odyssey

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

Status-X

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


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

Odyssey

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

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

Status-X

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

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


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

Odyssey

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

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

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

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

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

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 566
Регистрация: 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

Status-X

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


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

Odyssey

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

Odyssey

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

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

Odyssey

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

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

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

Status-X

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


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


Похожие темы  |  Печать страницы  |   Предыдущая тема  |   Следующая тема

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

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


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

Поисковые боты: 20
oBot(2), Googlebot(2), TrendictionBot, Unknown Bot(10), Yandex(3), Inktomi Slurp, BingBot

 Статистика форума


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

 Дни рождения


alex.gladchenko (48), Юрик (39)
Печать | Copyright © 2009 - 2016 Status-X All rights reserved | Powered by CMS Status-X 1.05 | Контакты