twitter API、utf-8じゃない文字が数値文字参照でくる

具体的には´(accute)が´になるとか。これlatin-1やんけ。
取得した文字列をHTMLアンエスケープしてMySQLに格納する段で不正なUTF-8文字列だと怒られるので困った。
latin1 - 実体参照の表をコピペして変換テーブルを作成、HTMLアンエスケープ前に実体参照に変換してことなきをえました。rubyで。

LATIN1_CONVERT_TABLE={
  ' ' => ' ',
  '¡' => '¡',
  '¢' => '¢',
  '£' => '£',
  '¤' => '¤',
  # 以下略。
}
class String
  def unescapeHTML
    return CGI.unescapeHTML self.gsub(/(&#\d+;)/){|pat| LATIN1_CONVERT_TABLE[pat]||pat}
  end
end