Регистронезависимый поиск в MySQL

Тема в разделе "PHP", создана пользователем whitelex, 5 ноя 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. whitelex

    whitelex Постоялец

    Регистр.:
    5 апр 2008
    Сообщения:
    58
    Симпатии:
    3
    Обычно не прошу помощи в делах программерских на форумах, пытаюсь до всего дойти сам юзая поиск и читая литературу, но тут ситуация уже просто безвыходная!

    Срочно нужна ваша помощь, уже вторые сутки сижу и никак не могу решить проблему :bc:

    Ситуация заключается в следующем:
    Поставил движок поисковой машины sphider, настроил его так, чтобы сайты с различной кодировкой индексировал и перекодировал полученную информацию в одну кодировку cp1251. На локалке все записывается без проблем, поиск работает независимо от регистра. Но! Когда загружаю все файлы на сервер, переношу таблицы с теми же значениями, происходит следующее: в мускул данные не заносятся не так как на локалке, в phpmyadmin крякозябры, но поиск все-равно работает, только уже реагирует на регистр.

    PHP:
        @mysql_query("SET NAMES cp1251");
        @
    mysql_query("SET collation_connection = cp1251_general_ci"); 
        @
    mysql_query("SET collation_server = cp1251_general_ci");
        @
    mysql_query("SET collation_database = cp1251_general_ci");
        @
    mysql_query("SET character_set_client = cp1251");
        @
    mysql_query("SET character_set_connection = cp1251");
        @
    mysql_query("SET character_set_results = cp1251");
        @
    mysql_query("SET character_set_server = cp1251");
    PHP:
    setlocale(LC_ALL'ru_RU.CP1251'); 
    PHP:
    .htaccess
    AddDefaultCharset cp1251
    Все варианты перебрал и НИЧЕГО.....

    Пробовал всё в UTF8, тоже не помогло...

    Добавлено через 5 минут
    Данные сервера:
    PHP:
    Variable_name     Value
    character_set_client     utf8
    character_set_connection     utf8
    character_set_database     cp1251
    character_set_filesystem     binary
    character_set_results     utf8
    character_set_server     latin1
    character_set_system     utf8
    character_sets_dir     
    /usr/share/mysql/charsets/
    Данные моего сервера:
    PHP:
         character_set_client     cp1251
         character_set_connection     utf8
        character_set_database     cp1251
        character_set_filesystem     binary
        character_set_results     cp1251
        character_set_server     cp1251
        character_set_system     utf8
        character_sets_dir     
    \usr\local\mysql5\share\charsets\
    Но это всё должно быть до лампы, если SETs прописаны...
     
  2. Sywooch

    Sywooch

    Регистр.:
    13 сен 2006
    Сообщения:
    180
    Симпатии:
    24
    Ну в "так называемой Вами" Крокозябре большая буква и маленькая имеют совершенно разные значения по написанию.
    Рекомендую Вам задать вопрос тут:
    http://softtime.ru/forum/index.php
     
  3. vaganetka

    vaganetka Создатель

    Регистр.:
    6 апр 2008
    Сообщения:
    13
    Симпатии:
    2
    а помоему лучше взять все результаты и через strrpos отстригать потихоньку;)
     
  4. amd333

    amd333 Писатель

    Регистр.:
    3 авг 2007
    Сообщения:
    2
    Симпатии:
    0
    Задача старая как мир, переводим все значения в uppercase или lowercase и получаем результат
     
  5. chewie

    chewie Создатель

    Регистр.:
    17 ноя 2007
    Сообщения:
    41
    Симпатии:
    1
    Когда экспортируешь данные на сервер (если ты это делаешь из консоли), то добавляй опцию --default-character-set=cp1251 (или любая другая кодировка, в которой у тебя дамп)
     
  6. AleXXL

    AleXXL Писатель

    Регистр.:
    27 авг 2007
    Сообщения:
    4
    Симпатии:
    0
    2 whitelex

    Ситуация такая - поиск нормально работал, но после вчерашнего восстановления сайта поиск Sphider (v1.3.5) стал регистрозависимым, хотя по сути ничего не менялось, базы не трогались, файлы сайта просто "откатились" на два дня назад. Совершенно непонятно что делать :bc: Уже и Index и Re-index многократно делал и Sphider удалил и заново поставил - не хочет искать регистронезависимо, но ведь до этого прекрасно работал! Могли бы что-нибудь посоветовать?
     
Статус темы:
Закрыта.