MongoDB php重音搜索utf8

时间:2013-10-17 02:58:24

标签: mongodb search

我在mongodb有一个集合

array( 'name'=>'Péter' )

当我查询$this->mongo_db->like('name', 'Péter', 'i', true, true)成功但

查询$this->mongo_db->like('name', 'Peter', 'i', true, true)没有结果

我使用了codeigniter alex bibie

提前致谢!

2 个答案:

答案 0 :(得分:1)

此问题的标准解决方案是使用标准化字符串存储第二个数组,如this answer中所述。

答案 1 :(得分:0)

e和é是两个完全不同的角色。虽然你可能想要某种字符折叠名称,但在大多数其他场景中,如果“e”==“é”,你会感到非常恐惧。

MongoDB不支持排序规则或自动转换字符,所以这不起作用。如果你想要这样的匹配,你必须自己标准化。