MongoDB php重音搜索utf8

MongoDB php重音搜索utf8,mongodb,search,Mongodb,Search,我在mongodb有一个收藏 数组('name'=>'péter') 当我查询$this->mongo_db->like('name','péter','i',true,true)所以成功了,但是 查询$this->mongo\u db->like('name','Peter','i',true,true)无结果 我用了密码点火器alex bibie 提前谢谢 此问题的标准解决方案是使用规范化字符串存储第二个数组,如中所述。e和é是两个完全不同的字符。虽然你可能希望名字有某种字符折叠,但在大多数

我在mongodb有一个收藏

数组('name'=>'péter')

当我查询
$this->mongo_db->like('name','péter','i',true,true)
所以成功了,但是

查询
$this->mongo\u db->like('name','Peter','i',true,true)
无结果

我用了密码点火器alex bibie


提前谢谢

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

e和é是两个完全不同的字符。虽然你可能希望名字有某种字符折叠,但在大多数其他情况下,如果“e”=“é”,你会抓狂


MongoDB不支持字符的排序或自动转换,因此这是行不通的。如果您想要这样的匹配,您必须自己对其进行规范化。

哦,这意味着我必须存储为数组('name'=>'péter','name\u no\u utf8'=>'Peter'),当我有集合时,我的数据库将被扩展。其他一些想法…好吧,也许我会在我的数据库中存储更多的1 array()重音名称和无重音名称。。。这也是一个解决方案,但我的数据库将膨胀。。。。嗯(mysql在这个场合非常简单,但是mongodb没有什么可以做的,所以我讨厌mongo,但是我仍然需要使用它)。。。