コードが両方のマシンで同じである場合、バンドルされているgemのいずれかがそのコードとWindowsで互換性がない可能性があります。また、Ubuntuからコードを移動した後、Windows上のgemに関連するこのような問題の多くに以前直面しました。
Ubuntuでは、gemsのsudo installコマンドはgemと依存関係を独自にインストールしますが、Windowsでは、依存関係のあるgemインストールを手動でインストールする必要があります。
Windows上のgemの互換性の問題を確認してください。さらに、以前は問題なくWindowsのアプリケーションでnokogiriを使用していたため、jrubyがバグの原因であると思われます。
さらに、(おそらくIconvNokogiri
を介して)さまざまなエンコーディングを処理するためのいくつかの機能がありますが、私はそれを少し練習していません。
ではNokogiri
、文字列は常にUTF-8として内部に格納されます。テキスト値を返すメソッドは、常にUTF-8でエンコードされた文字列を返します。XMLを返すメソッド(to_xml、to_html、inner_htmlなど)は、ソースドキュメントのようにエンコードされた文字列を返します。
Nokogiriでドキュメントのエンコードを適切に処理する場合は、エンコードを明示的に設定することをお勧めします。
また、[ウィンドウで]をオンにします。通常のテキストまたはHTMLドキュメントを解析した場合でも、同じ動作を示しますか?好き:
irb(main):017:0> Nokogiri :: HTML.fragment(''、'utf-8')。text
irb(main):017:0> Nokogiri.HTML('').at_css('body')。content
これも役立つかもしれません-http://nokogiri.org/。また、JRubyでの開発の見出しも確認してください。