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