1

运行以下代码时出现以下错误:

invalid byte sequence in UTF-8 (ArgumentError)

编码:

require 'hpricot'
require 'open-uri'

doc = open('http://www.amazon.co.jp/') {|f| Hpricot(f.read) }
puts doc.to_html

Hpricot 无法解析日语内容。有关解决此问题的任何建议?

4

1 回答 1

2

该网站似乎没有使用 UTF-8: <meta http-equiv="content-type" content="text/html; charset=Shift_JIS" />

试试这个:

open('http://www.amazon.co.jp/') {|f| Hpricot(f.read.encode("UTF-8")) }
于 2012-06-13T14:23:36.293 回答