1

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

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

谢谢!

4

1 回答 1

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;
于 2013-07-15T12:40:32.537 回答