2013-07-15 123 views
1

我有一个存储关于歌曲及其艺术家信息的mysql表。在客户端,我有一个使用jQuery和Ajax的网页以自动完成的形式搜索这些数据。例如,输入'David B'会让David Bowie回报。这很好,但是当有人想要搜索'MötleyCrüe'时,他们必须在搜索结果返回之前输入特殊字符。我希望用户能够输入'Motley C'并自动完成'MötleyCrüe'。MySQL特殊字符indifferent选择

目前,我构建了select查询并使用LIKE'%pattern%'来搜索艺术家。有没有办法在MySQL中做到这一点?

谢谢!

回答

1

如果您将艺术家的名称与感知unicode和文化独立的排序规则(例如utf8_general_ci)一起存储,则此功能开箱即用。你可以用alter table更改列的排序规则:

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

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

如果你不能/不想更改列的排序规则,你可以在这样的查询使用特定的排序规则

+0

非常好,工作。非常感谢! – Wotuu