2012-03-22 121 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