2012-03-22 92 views
1

我正在使用Nutch 1.4和solr 3.3.0来爬行和索引我的法语网站。我的网站曾经是在iso8859-1。UTF-8字符显示不正确

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

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

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

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

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

谢谢。

回答

3

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

+1

非常感谢Nikolay修复了我的问题。 – breakdown1986 2012-03-22 18:14:06

0

我对Nutch并不熟悉,但我已经看到了与其他事情。

一对夫妇的事情,你应该检查或做:在Web服务器上

  1. 你的新页面可能没有内容的谈判,其UTF-8
  2. 您的字符集为新的页面可能还是meta标签是iso8859-1

我建议你做的是采取旧网站的所有旧页面,并使用像iconv这样的工具将它们转换为UTF-8。然后在你的web服务器上进行配置,以便所有文本都被视为UTF-8(即发回的内容类型头文件表示UTF-8)。

+0

嗨,亚当,我已经完成了上面提到的所有步骤。我100%确定这些文件是utf-8格式。 – breakdown1986 2012-03-22 17:20:10

+0

它可能是一个不同的字符集。你确定它的iso8859-1而不是窗口代码页(这发生在我身上:http://stackoverflow.com/questions/5010000/java-convert-iso-8859-1-to-utf-8-with-correct- unicode-characters) – 2012-03-22 17:35:59