【发布时间】:2014-04-22 13:10:06
【问题描述】:
尝试运行:
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: 不支持的编码 windows-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'
效果很好。
红宝石 1.9.3 导轨 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
我该如何解决?
【问题讨论】:
-
你在服务器上使用什么版本的 Ruby?
-
我们需要查看您的代码和输入数据的最小示例来证明问题。
-
Ruby 1.9.3 Rails 3.2.16 nokogiri 1.6.1 操作系统:FreeBSD 8.1 我将在几分钟后将代码示例添加到 OP。
-
请不要链接到您的代码。 WHEN 该链接失效,您的问题将毫无意义。 SO 更喜欢看到一个可以证明问题的最小样本。要求我们追踪您的代码会阻碍潜在的答案。
-
很抱歉,我不明白是什么问题。原始帖子中有问题代码的最简单示例。 > Nokogiri::XML(open("my.url.com/any/path.xml")) 而不是 "my.url.com/any/path.xml" 我尝试了不同的 url,例如 "bar-navig.yandex.ru/u?ver=2&show=32&url=google.com"。
标签: ruby-on-rails xml nokogiri