我正在尝试为所有以用户选择的克罗地亚字母开头的元素创建一个 mysql 查询。
对于普通的拉丁字母来说,这一切都很好。
我面临的问题是,当我用 S 搜索某些内容并说 Š 时,我会得到两个以 S 和 Š 开头的元素,ČĆC 也是如此。
$sql=" SELECT * FROM `default_subjects` where name like '{$keywords}%'";
排序规则集是 utf8_unicode_ci。
谢谢。:)
由于排序规则,“S”和“Š”被视为相同的字母。这通常应该是一件好事,因为它在一定程度上允许“模糊”搜索。如果您不希望这样并且只希望相同的字母相同,请将排序规则更改为utf8_bin
(二进制排序规则)。您可以将此作为表/列的常规设置,或根据需要为每个查询执行此设置,具体取决于您需要任一功能的频率。有关语法,请参见http://dev.mysql.com/doc/refman/5.1/en/charset-collat e.html。