emojiを使おうと思ったら、色々と問題があるようなので、まとめます。

  • 文字コード問題
  • collation問題
    • ハハパパ問題(参考)
  • index問題
  • mysql側の設定
  • rails側の設定

文字コード問題

まず、emojiはmysqlのutf8では使用できません。 mysqlでemojiを使用するにはutf8mb4にする必要があります。

これは何をしようとしているのかいうと、emojiの文字コードは1文字に4バイト使用します。 通常のutf8では、1文字に対して3バイトまでしか使用できません。 なので、mysqlで保存するためには、文字コードを変更する必要があります。

collation問題

こちらは初期設定のutf8mb4の設定でいくと、寿司ビール(