我遇到了Moodle搜索问题。我已经安装了课程搜索插件,可以在数据库中搜索与您所在课程相关的查询。
我有一个测试站点(分段)使用完全相同的代码和(实时)数据库的副本。
当我第一次安装插件时,搜索区分大小写,当我搜索测验,测验,测验时,给我不同的结果。
通过将暂存数据库的排序规则更改为utf8_general_ci,我在我的暂存网站上设法解决了这个问题,当我搜索:测验,测验或测验时,我得到相同的结果。
然而,当我对实时数据库执行此操作时,将表的排序规则更改为utf8_general_ci仍然不起作用,如果我搜索小写或大写,我会得到不同的结果。
一切都是一样的,代码是相同的,DB具有相同的排序规则。
可能出现什么问题?
答案 0 :(得分:0)
在进行了一些挖掘后,我发现数据库的列具有与utf8_general_ci不同的排序规则,他们使用utf8_bin,在运行脚本并将所有表和列更新为utf8_general_ci后,搜索不区分大小写
用于执行此操作的SQL查询,以防有人需要:
ALTER TABLE `your_db_table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;