数据库
首页 > 数据库> > 使用uft8_general_ci的MySQL搜索对FULLTEXT区分大小写?

使用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