2013-07-15 5 views
1

У меня есть таблица mysql, в которой хранится информация о песнях и их художниках. На стороне клиента у меня есть веб-страница, которая использует jQuery и Ajax для поиска по этим данным в виде автоматического завершения. Например, набрав «Дэвид Б», он вернет Дэвида Боуи. Это прекрасно работает, но когда кто-то хочет поискать «Mötley Crüe», им придется вводить специальные символы до того, как они вернутся в результаты поиска. Я хочу, чтобы пользователи имели возможность набирать «Motley C» и автоматически заканчивать «Mötley Crüe».MySQL специальный символ безразличный select

В настоящее время я строю запрос выбора и использую LIKE '% pattern%' для поиска художников. Есть ли способ сделать это в MySQL?

Спасибо!

ответ

1

Это работает из коробки, если вы храните имя художника с помощью независимого от Unicode и независимого от культуры сопоставления, такого как utf8_general_ci. Вы можете изменить параметры сортировки столбца с alter table:

alter table YourTable modify ArtistName varchar(255) collate utf8_general_ci; 

Если вы не можете/не хотите, чтобы изменить параметры сортировки столбца можно использовать определенный порядок сопоставления в запросе, как это:

select * from YourTable where ArtistName like 'motley%' collate utf8_general_ci; 
+0

Отлично, это сработало. Большое спасибо! – Wotuu