Общие > Базы данных

Ещё раз про сортировку кириллицы и как с этим бороться.

(1/3) > >>

Crazy Scientist:
Проблема в том, что у провайдера для MySQL прописана latin1 и менять он её не собирается. А сортировать всё равно хочется по русскому алфавиту. Какие есть варианты решения проблемы?
Пробовал сделать
ALTER TABLE `mytable` CHANGE `rusname` `rusname` VARCHAR(30) BINARY NOT NULL

ответ MySQL:
Can\'t create table \'./dbname/#sql-af_adcce.frm\' (errno: 140)

Crazy Scientist:
ALTER TABLE `mytable` CHANGE `rusname` `rusname` VARCHAR(30) BINARY NOT NULL

Запрос не работал, так как был создан полнотекстовой индекс для поля типа TEXT. После удаления индекса тип поля поменялся. Но теперь, к сожалению, нельзя использовать возможность FULLTEXT поиска.

Выходит, что VARCHAR (N) BINARY и FULLTEXT index - примерно как гений и злодейство.

fidget:

--- Цитировать ---Выходит, что VARCHAR (N) BINARY и FULLTEXT index - примерно как гений и злодейство.
--- Конец цитаты ---


FULLTEXT index ты можешь создать только на поля объявленные как VARCHAR() или TEXT, т.е. на текстовые поля
если ты объявишь VARCHAR() как BINARY, то это уже получится своего рода BLOB поле, а на BLOB FULLTEXT index не создается.

ilanva:
Не плохо..., проблема с сортировкой при использовании свойства binary для char (varchar) полей отпадает.

При этом возникает другая.
При поиске и использовании LIKE (как известно эта директива не должна обращать внимание на регистр символов) учитывается регистр. :(

Можно как-нибудь это побороть?

fidget:

--- Цитировать ---Можно как-нибудь это побороть?
--- Конец цитаты ---

недавно обсуждалось ..
http://forums.webscript.ru/showthread.php?s=&threadid=5767

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии