🌵
— こーき (@dangiruba) 2014, 10月 17
サボテン植え師です、こんばんは。
色んなサービスにサボテンを植えてます。
まぁサボテンを植えたのにも理由があります。
Unicode
Unicode6.0で絵文字が追加されて久しいですね。
utf-8の4バイトエリアに絵文字が追加されて、Twitterで絵文字が使える!みたいな事、ちょっと話題になりましたね。
僕はまぁどうでもいいやー。って感じで流してたんですが・・・。
MySQLとutf8mb4
utf8mb4、ご存知でしょうか。
MySQLでは4バイトエリアにあるutf8を、普通のutf8で扱うことができません。絵文字はutf8では4バイトで表現されるので、文字コードにutf8を使ってる限り絵文字を含む文字列をMySQLに格納する事はできないんです。絵文字を入れたい時は、utf8mb4と明示的に示してあげる必要があるみたいです。
フォントと文字コードと・・・。
utf8mb4を指定することでMySQL上に絵文字を格納する事ができても、対応するフォントが無ければ、いわゆる豆腐が表示されてしまいます。
これにどのように対処するか、エンジニアとしての腕の見せどころですね!!
そう、もうお分かりですね!!
僕は🌵と入力した時に絵文字のサボテンをどのように表示しているかを調べるためにサボテンを色んなサービスに植えて回ってたのです!!
結果
TwitterもFacebookも、絵文字の文字コードは画像に置換して表示しているみたいです。これならどんなプラットフォームでも絵文字を見ることができてみんなハッピーですね。
そもそもこんな事を始めたのは、僕が作っているサービスで絵文字対応しなくちゃいけなくなったからなんです。でも画像でやるのは面倒だなぁ・・・。って思うので、Webフォントかなんかで対応しようと思います。