MySQL特殊字符无所谓选择

时间:2013-07-15 12:34:40

标签: mysql special-characters select-query

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

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

谢谢!

1 个答案:

答案 0 :(得分: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;