その他
    ホーム 技術発信 DoRuby DBに格納された絵文字を特定する

    DBに格納された絵文字を特定する

    この記事はアピリッツの技術ブログ「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の欄に該当する絵文字がみつかりました。