【问题标题】:Zend Lucene doesn't index special characters (although Common_Utf8Num_CaseInsensitive is used)Zend Lucene 不索引特殊字符(尽管使用了 Common_Utf8Num_CaseInsensitive)
【发布时间】:2014-01-13 23:27:39
【问题描述】:

虽然我使用其中一种 UTF8 分析器,但 Lucene 不能很好地处理特殊字符(如 ë,它是荷兰语中的常见字符)。 使用本地 Xampp 安装在 Windows 上进行测试得知 ë 由 lucene 存储为 ë

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

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

【问题讨论】:

  • 其他示例  存储为 Â,无论是否使用 html_entity_decode()

标签: php zend-framework lucene


【解决方案1】:

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

setlocale(LC_CTYPE, 'nl_NL.utf8')

setlocale(LC_ALL, 'nl_NL.utf8')

我已经这样做了,但结果表明我托管我的网站的服务器上没有安装此语言环境。

您可以通过检查setlocale(LC_CTYPE, 'nl_NL.utf8') 的返回值来检查这一点。如果返回 false,则表示未安装语言环境。

【讨论】:

    猜你喜欢
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    相关资源
    最近更新 更多