Здравствуйте, goldblueranger, Вы писали:
G>Здравствуйте, ahabr, Вы писали:
A>>Может кто-нибудь подскажет мне как в mysql сделать чтобы полнотекстовый поиск был регистронезависимым для русского языка. Данные хранятся в utf8 и для полей по которым идет поиск выбрано utf8_general_ci
G>Не уверен в своей правоте, но напишу соображения.
G>MySQL 5.0 не поддерживает русский язык в utf8. (имеется в виду операции uppercase(), lowercase(), сортировка, и Ignoring diacritics (т.е. не различать при поиске 'е' и 'ё' — иногда полезно искать не задумываясь о том как ввели в базу "Звездный" или "Звёздный"))
G>http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html
G>Почему я так думаю?
G>Заглянув в исходники, вижу, что в utf8_general_ci описываются операции с 255 байтами (usa7), что явно не достаточно чтобы покрыть русский язык.
G>Почему не поддерживает?
G>В русскоговорящих странах нет ни коммьюнити, ни пользователей которые платят деньги за mysql (а если и есть, то они не требуют такой фичи)
G>Почему не пользуются системными (Windows) функциями?
G>Наверно потому же, что и предыдущее.
G>Что делать? (если не нашли свой язык в <show collation like 'utf8%'> )
G>Либо:
G>1. Самому сделать utf8_russian_ci (или заюзать системные чарсеты) в MySQL и собрать версию (и не забыть послать патч в MySQL)
G>2. Заплатить кому-то денег чтобы он это сделал
G>3. "Надавить" на MySQL и доказать что они должны это сделать сами
G>4. Забить
G>Welcome to opensource
G>(но предварительно обратиться в MySQL support, может я тут нагнал)
Воистину так! Вот ж...