Moodle 上不区分大小写的搜索

Case Insensitive search on Moodle

我在使用 Moodle 搜索时遇到问题。我已经安装了课程搜索插件,可以在数据库中搜索与你所在课程相关的查询。

我有一个使用完全相同代码的测试站点(暂存)和(实时)数据库的副本。

当我第一次安装插件时,搜索是区分大小写的,当我搜索例如 Quiz、quiz、Quiz 时会得到不同的结果。

通过将登台数据库的排序规则更改为 utf8_general_ci,我现在在我的登台站点上搜索时设法解决了这个问题:测验、测验或测验,我得到了相同的结果。

然而,当我对实时数据库执行此操作时,将表的排序规则更改为 utf8_general_ci,仍然不起作用,如果我搜索小写或大写,我会得到不同的结果。

一切都一样,代码是一样的,DB 具有相同的排序规则。

可能出了什么问题?

经过一些挖掘后,我发现数据库的列具有与 utf8_general_ci 不同的排序规则,它们使用 utf8_bin,在 运行 脚本和更新之后utf8_general_ci 的所有表和列,搜索不区分大小写。

SQL 用于在有人需要时执行此操作的查询:

ALTER TABLE `your_db_table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;