我正在尝试对使用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中看起来很好看。口音很到位。除了大写字母中的访问权限:-P我在Econom a中得到问号,应该有í(带有重音)
我认为越来越近了。如果某人有提示覆盖大写字母,那么它几乎可以完成。
干杯。
答案 0 :(得分:0)
您用于下载文件的方法可能已更改编码,从而破坏了文件中的重音。试试这个看看它是否正常工作:
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
你是如何下载文件的?