トラブルシューティング。
Nokogiriを使ってHTMLを取得した際、文字化けしてしまうエラーについて。
encoding error : input conversion failed due to input error
が出た場合の対処法。
以下のページを参考にして解決。
http://route477.net/d/?date=20110119
このように、Nokogiriに渡す前に、処理を噛ませたら解決。
まず、openの第二引数にエンコーディング名を指定。そのあと、encode('エンコーディング名')として変換。
けれど、調べると以下のような解法がヒットした。
このようにNokogiriの第三引数として、エンコーディング後のcharsetを指定しなさいとのこと。
document = Nokogiri::HTML(page, uri, charset)
自分の場合、全く解決にならなかった。
Nokogiriにおかしなエンコーディングを渡した時点でエラーになるのかもしれない。
ちなみに、anemoneは(たしか)内部的にnokogoriを使用しているので、同様のエラーが出る。
というか自分の場合そうだった。