2013-05-11 46 views
2

我在rails 3.2.13上使用gem“Nokogiri”。当我分析网站时,我使用windows-1251编码获得网站,但是我需要使用UTF-8来处理我的工作。我该怎么做?请帮帮我。从windows-1251到UTF-8 Ruby on Rails

PS

require 'iconv' 
ic = Iconv.new('UTF-8','Windows-1251') 
@convertedstr = ic.iconv(@output.to_s) 

这个代码不工作,但我不`吨知道为什么。

PPS对不起,但我是RoR的初学者。

+0

红宝石的是什么版本? – 2013-05-11 16:21:28

+0

Ruby的版本是1.9.3 – user2373178 2013-05-12 06:46:09

回答

6

尝试

@output.force_encoding("cp1251").encode("utf-8", undef: :replace) 
+0

谢谢,它改变了编码。但我有新问题。 @page = Nokogiri :: HTML(open('http://example.com'))' @ouput包含此页面的内容,contenet具有俄语符号,编码后我看到不同的符号,但我需要俄罗斯符号。 据我所知,Nokogiri在内部有UTF-8字符串。我该怎么办? – user2373178 2013-05-12 06:43:47