我想要得到的文件列表從URL像這樣無效的字節序列:紅寶石URI.extract返回空數組或引發ArgumentError:在UTF-8
require 'uri'
require 'open-uri'
url = 'http://www.wmprof.com/media/niti/download'
html = open(url).read
puts URI.extract(html).select{ |link| link[/(PL)/]}
此代碼返回引發ArgumentError:無效字節序列在UTF-8符合URI.extract(即使html.encoding返回UTF-8)
我已經找到了一些解決方案,以編碼的問題,但是當我改變代碼
html.encode('UTF-8', invalid: :replace, undef: :replace, replace: '?')
URI.ext即使我沒有調用select方法,ract也會返回空字符串。有什麼建議麼?
@cremno感謝,但它不工作,迫使ISO-8859-1編碼,然後轉碼爲UTF-8提取仍返回空數組後。另外爲了將來的參考 - 你從哪裏得到的信息,該網站的編碼是ISO-8859-1?它不在文檔頭部,正如上面提到的'html.encoding'返回utf-8。 –