2009-10-07 47 views
9

Wie kann ich eine Zeichenfolge, die latin1 Zeichen enthält, in utf8 umwandeln?Konvertieren latin1 Zeichenfolge in utf8?

Die Zeichenfolge ist ein Dokument, das von open-uri geöffnet wird und diese Sonderzeichen enthält.

Mit freundlichen Grüßen

Antwort

16

Iconv

require 'iconv' 
i = Iconv.new('UTF-8','LATIN1') 
a_with_hat = i.iconv("\xc2") 
4

nach zu urteilen Ihre Tags, ich denke, Sie so etwas wie dies wollen:

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

file = open(your_uri) 
doc = Nokogiri::HTML(Iconv.conv('utf-8', 'latin1', file.readlines.join("\n"))) 
doc.xpath(your_xpath) 

Wenn Sie nicht sicher sind, was die uri Anwendungen charset, Sie können file.charset verwenden, um den Zeichensatz anstelle von 'latin' zu erhalten.

Verwandte Themen