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 に答える