>>492
require 'rubygems'
require 'hpricot'
require 'kconv'
html = '<html><title>にほんご&nbsp;タイトル</title></html>'.toeuc
doc = Hpricot.parse(html)
p doc.at('title').inner_text == 'にほんご タイトル'.toeuc
p doc.at('title').inner_text == 'にほんご タイトル'.toutf8
p doc.at('title').inner_text == "にほんご#{Hpricot.uxs('&nbsp;')}タイトル".toeuc
p doc.at('title').inner_text == 'にほんご'.toeuc+ Hpricot.uxs('&nbsp;') +'タイトル'.toeuc

最後だけ true
つまり、文字参照のとこだけが強制的に UTF-8 の文字で挿入される
これはリクツ上仕方ないんだけれども、日本語 HTML にはなかなか厳しい
Hpricot のいいところはバイトの並びが保存されて文字コードが不変とみなせるとこなんだが、
ここであっさり綻びてる

古いバージョンの ? で置換されてたころのほうがまだマシだったという悲しいオチが