2012-02-09 9 views
-1

私は私が間違ってHTMLエンコードされたドイツ語のウムラウト取得、このコードに問題があります:あなたのコードの結果は、私のコンピュータに最適ですドイツの「ウムラウト」

require 'rubygems' 
require 'nokogiri' 
require 'open-uri' 

time = Time.new 

url = "http://mobile.bahn.de/bin/mobil/bhftafel.exe/dox?input=Richard-Strauss-Stra%DFe%2C+M%FCnchen%23625127&date=" + 
    time.strftime("%d%m%Y") + 
    "&time=" + 
    time.strftime("%H") + 
    "%3A" + 
    time.strftime("%M") + 
    "&productsFilter=1111111111000000&REQTrain_name=&maxJourneys=10&start=Suchen&boardType=Abfahrt&ao=yes" 

doc = Nokogiri::HTML(open(url)) 
doc.xpath('//div//p').remove 
doc.encoding = 'UTF-8' 
doc = doc.xpath('//div').each do |node| 
    text = node.text.gsub(/\n([ \t]*\n)+/,"\n",).gsub(/^\s+|\s+$/,'').gsub("Startseite", '').gsub("Impressum", '') 
    puts text unless text.empty? 
end 
+0

"間違ったhtmlエンコードドイツ語ウムラウトを取得する"とはどういう意味ですか?端末ウィンドウにそれらを表示している場合は正しいと思われますが、端末はUTF-8を認識しません。 –

答えて

0

を。すべてのUmlauteはHTMLエンティティとしてではなく、実際のUmlauteとして正しく表示されます。おそらくあなたのRubyのバージョンをチェックしてください:Ruby 1.8は非ASCII文字に問題があり、Ruby 1.9はこれを修正しました。

関連する問題