使用uft8_general_ci的MySQL搜索对FULLTEXT区分大小写?
作者:互联网
我设置了一个MyISAM表来进行FULLTEXT搜索.
我不希望搜索区分大小写.
我的搜索是这样的:
SELECT * FROM搜索WHERE MATCH(关键字)AGAINST(‘Diversity kitten’IN BOOLEAN MODE);
假设我正在寻找的关键字字段具有“我的多样性小猫”的值.
我注意到搜索区分大小写.
我在搜索表上仔细检查了我的排序规则,它被设置为utf8_bin. D’哦!
我把它改成了utf8_general_ci.
但我的查询仍然区分大小写!
为什么?
是否还需要更改服务器设置?
除了改变校对之外,还有什么我需要做的吗?
我做了一个“REPAIR TABLE搜索QUICK”来重建FULLTEXT索引,但是它没有做到……
我的搜索仍然区分大小写. =(
解决方法:
啊哈,这一次想到了实物.
我相信我的问题是使用NaviCat来更新排序规则.我有一个旧版本的NaviCat,也许这是一个bug或什么的.
这样做:
ALTER TABLE搜索CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
正确修复它.
总是使用命令行,孩子们! =)
标签:mysql,utf-8,case-sensitive,collation,full-text-search 来源: https://codeday.me/bug/20190827/1737368.html