打开iso-8859-1编码的html与nokogiri混乱口音

我正在尝试对用charset = iso-8859-1编码的html页面进行一些更改

doc = Nokogiri :: HTML(open(html_file))

把doc.to_html搞砸了页面中的所有重音。 因此,如果我将其保存回来,它在浏览器中也会被破坏。

我还在使用Rails 3.0.6 …任何提示如何解决这个问题?

这是其中一个遭受这种情况的页面,例如: http : //www.elmundo.es/accesible/elmundo/2012/03/07/solidaridad/1331108705.html

我也曾在Github问过,但我觉得这会更快。 如果我能解决这个问题,我会更新这两个地方。

更新1 2012年3月24日

感谢您的评论。 我设法部分解决了这个问题。 我相信这与Nokogiri无关。 正如我在一些评论中提到的,我只需要打开并保存文件以使重音混乱。

我得到的最接近的修复是这样做的:

thefile = File.open(html_file, "r") text = thefile.read doc = Nokogiri::HTML(text) ... do any stuff with nokogiri File.open(html_file, 'w') {|f| f.write(doc.to_html) } 

原始文件带有iso-8859-1,保存一个在utf-8中看起来很好看。 口音很到位。 除了大写字母中的访问:-PI得到像Econom a中的问号,应该有í(带有重音)

我想,越来越近了。 如果某人有提示覆盖大写字母也可能差不多完成。

干杯。

您用于下载文件的方法可能已更改编码,从而破坏了文件中的重音。 试试这个看看它是否正常工作:

 require 'rubygems' require 'nokogiri' require 'open-uri' url = 'http://www.elmundo.es/accesible/elmundo/2012/03/07/solidaridad/1331108705.html' doc = Nokogiri::HTML(open(url)) File.open("1331108705.html", "w") {|f| f.write(doc.to_html)} system('open', '1331108705.html') # on Mac OS X, this will open the html file in your browser 

你是怎么下载这个文件的?