【问题标题】:UTF-8 characters not showing properlyUTF-8 字符未正确显示
【发布时间】:2012-03-22 15:47:48
【问题描述】:

我正在使用 Nutch 1.4 和 solr 3.3.0 来抓取和索引我的法语网站。我的网站曾经在 iso8859-1 中。

目前我在 solr 下有 2 个索引。在第一个中我存储我的旧页面(在 iso8859-1 中),在第二个中我存储我的新页面(在 utf-8 中)。

我对两个抓取作业使用相同的 nutch 配置来获取和索引我网站上的旧页面和新页面。我自己没有添加任何关于章程编码的设置(我认为)。

我在搜索应该在 utf-8 中的新页面时遇到问题。法语字符无法正确显示。但是对于 iso8859-1 中的旧页面,一切似乎都很好。

我想知道是否有人可以指出我解决此问题的正确方向。

我相信问题出在 nutch 上,因为当我创建片段的转储时,我在转储文件中看到了那些有趣的字符。

谢谢。

【问题讨论】:

    标签: solr lucene nutch


    【解决方案1】:

    在 nutch-default.xml 中“parser.character.encoding.default”值应该被相应地设置。您只需将其设置为 utf-8。它的默认值为“windows-1252”。

    【讨论】:

    • 非常感谢 Nikolay 解决了我的问题。
    【解决方案2】:

    我对 Nutch 不太熟悉,但我在其他方面也见过这种情况。

    你应该检查或做的几件事:

    1. 您在网络服务器上的新页面可能不是协商其 UTF-8 的内容
    2. 新页面的字符集元标记可能仍为 iso8859-1

    我建议您将旧网站的所有旧页面取出并使用 iconv 之类的工具将它们转换为 UTF-8。然后在您的网络服务器中对其进行配置,以便所有文本都被视为 UTF-8(即发回的内容类型标头为 UTF-8)。

    【讨论】:

    • 嗨亚当,我已经完成了你上面提到的所有步骤。我 100% 确定文件是 utf-8 格式。
    • 可能是不同的字符集。你确定它的 iso8859-1 而不是窗口代码页(这发生在我身上:stackoverflow.com/questions/5010000/…
    猜你喜欢
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 2020-04-22
    • 2015-04-11
    • 2023-03-05
    相关资源
    最近更新 更多