尝试运行:
Nokogiri::XML(open("http://my.url.com/any/path.xml"))
例如:
Nokogiri::XML(open("http://bar-navig.yandex.ru/u?ver=2&show=32&url=google.com"))
但我明白了:
Nokogiri :: XML :: SyntaxError:不支持的编码窗口-1251
但仅限于服务器上。在本地计算机上它工作正常。
看起来iconv支持这种编码:
iconv --list | grep 1251
CP1251 MS-CYRL WINDOWS-1251
即使我尝试在bash中运行
xmllint 'http://bar-navig.yandex.ru/u?ver=2&show=32&url=google.com'
工作正常。
Ruby 1.9.3 Rails 3.2.16 nokogiri 1.6.1 操作系统:FreeBSD 8.1
这里的代码示例,在第16行。 https://github.com/anoam/seo_params/blob/master/lib/seo_params/yandex.rb
这是URL的示例: http://bar-navig.yandex.ru/u?ver=2&show=32&url=google.com
我该如何解决?
答案 0 :(得分:0)
Nokogiri::XML
是Nokogiri::XML::Document.parse()
的快捷方式,请查看Nokogiri::XML::Document.parse()
的文档
parse(string_or_io, url = nil, encoding = nil, options = ParseOptions::DEFAULT_XML, &block)
encoding(可选)是处理文档时应使用的编码。
答案 1 :(得分:0)
问题在这里得到解决: https://github.com/sparklemotion/nokogiri/issues/1093
谢谢大家!