ゆう's Blog
絵文字

EmojiAll 日本語

Let’s EMOJIへようこそ🎉

大きい目の笑顔:😃
直でもいいの?😃

どちらを使っても表示されるので、基本的には好きな方を選んで問題ありません!ただ、状況によって使い分けることをおすすめします。

😀 (絵文字そのものを入力する方法)
この方法はシンプルで直感的ですが、ファイルのエンコーディングがUTF-8である必要があります。もしエンコーディングが適切でない場合、文字化けが発生する可能性があります。

😀 (文字参照を使う方法)
HTMLエンティティを使うと、エンコーディングに依存しないので安全性が高まります。また、コードを扱う際に明示的でわかりやすい点も利点です。ただし、読みづらくなる可能性があるので、複数の絵文字を使う場合は注意が必要です。

つまり、簡単な作業や個人用のページでは「😀」を使い、エンコーディングの問題や他人が読むことを考慮する場面では「😀」を選ぶのが良いかもしれません。

「絵文字そのもの」をMySQLに保存する

CREATE TABLE emojis ( id INT AUTO_INCREMENT PRIMARY KEY, emoji_text VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL );

指定する文字数(例: 255)は文字数そのものを指します。つまり、絵文字そのものを保存した場合でも、文字参照(例: 😀)を保存した場合でも、MySQLの文字列の長さとして扱われるのはエンコード後のバイト数ではなく、論理的な文字数です。

ただし、以下の点に注意してください:

絵文字そのもの(例: 😀)は通常1文字とカウントされます。ただし、utf8mb4を使用している場合に限ります。

文字参照(例: 😀)はそのまま保存すると、その文字列の全体の長さがカウントされます。例えば、😀は9文字としてカウントされます。