この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
サイト上で絵文字が文字化けしてしまい、DBでSELECTしても意味不明なマークが表示されているだけ・・・。
そんな時のための絵文字特定方法をご紹介します。※かなり力技ですが・・・
今回特定する画像はDocomoの「冷や汗」絵文字。
DBはPostgreSQL、文字コードはUTF-8で作成しています。
まずpsqlで該当のレコードををみてみましょう。
hoge=# select body from entries where id=1;
body
——
(1 row)
うーんこれではわかりませんね・・・。
そこで、一度該当のレコードがあるテーブルをpg_dumpで出力してみます。
$ pg_dump hoge -t entries > entries.sql
このファイルをlessで出力します。
$ less entries.sql
<U+E722>
これは何か意味のありそうなコードです。(Unicode)
次に以下のサイトで先程の文字列を検索します。
上記サイトでUnicodeの欄に該当する絵文字がみつかりました。