PHP MongoDB find with UTF-8


PHP MongoDB find with UTF-8

我有一个与MongoDB的文本搜索,我使用PHP。

除了德语中的特殊字符外,它可以正常工作。例如"Törn"这个词。

所以字符"Ö", "Ü", "Ä", "ß"找不到,我不知道为什么。

这是将为搜索生成的json:

{"text":"waypoints","search":"T'u00f6rn","language":"de"}

I tried

utf8_encode(utf8_decode($searched));

mb_convert_encoding($searched, "UTF-8");

到目前为止,但它们都没有改变我得到的结果。在$searched中,将保存搜索字符串,在本例中为"Törn"。

这是我的textsearch命令:

$cursor = $this->db->command(array(
    "text" => "waypoints", 
    'search' => $searched,
    'language' => 'de'
));

如何正确处理这些字符?

我删除了命令的'language' => 'de'部分,现在它正在工作!

但是我不能给出一个原因,为什么语言参数chdash这个查询。