我的搜索区分大小写,但我希望它不区分大小写。在MySQL中,我将我的数据库和表设置为utf8_general_ci。搜索仍然区分大小写。我一直在做一些研究,似乎背后的原因是我的查询中的BOOLEAN模式。有没有办法让它不区分大小写?所以无论我如何用任何灵敏度输入任何单词,它总是会在搜索结果中显示出来?
SELECT
s_cost_sheet.partnumber,
s_cost_sheet.description,
s_cost_sheet.price,
s_cost_sheet.notes
FROM s_cost_sheet
WHERE MATCH ( partnumber, description, price, notes )
AGAINST('%".$search."%' IN BOOLEAN MODE) ORDER BY partnumber, description, price, notes ASC";
我已经在phpMyAdmin中测试了搜索,无论字盘的类型如何,它都可以工作,它可以是Plate,PLATE,plaTE。一切正常,所以它必须是导致问题的内容。
答案 0 :(得分:1)
如果其中一列的类型为int或numeric,则搜索将区分大小写。此外,无需在搜索的字符串中使用%
答案 1 :(得分:0)
尝试将您的表格和列更改为utf8_general_ci
,并且您不必将%
通配符与FULL TEXT Search
<强>建议强>
如果您需要更快的结果,也可以避免使用大量带有ORDER BY
子句的列。