Zend Lucene不会索引特殊字符(尽管使用了Common_Utf8Num_CaseInsensitive)

时间:2014-01-13 23:27:40

标签: php zend-framework lucene

虽然我使用的是UTF8分析仪之一,但Lucene并没有将特殊字符(如ë,这是荷兰语中的常见字符)处理得很好。 使用本地Xampp安装在Windows上进行测试可以让我知道ë由lucene存储为ë

在我的实时网站(linux-server)上,情况更糟:Lucene在遇到像ë这样的角色时会完全停止索引字符串。

我只是不明白我做错了什么。 希望有人可以解释一下...

1 个答案:

答案 0 :(得分:1)

要使Zend Lucene正确编码荷兰语,需要将语言环境设置为荷兰语:

setlocale(LC_CTYPE, 'nl_NL.utf8')

setlocale(LC_ALL, 'nl_NL.utf8')

我已经做到了这一点,但事实证明这个区域设置没有安装在我托管我网站的服务器上。

您可以通过查看setlocale(LC_CTYPE, 'nl_NL.utf8')的返回值来查看此内容。如果返回false,则不安装语言环境。