概要
データベースに MySQL を使って JIRA を動かしている場合、コメント欄などに絵文字を入力して保存しようとするとエラーになってしまい保存することができません。絵文字にかかわらず、4byte UTF-8 文字は保存ができないのです。
Atlassian の公式の見解でも DB に MySQL を使用している場合は 4byte 文字はサポートしないと言っています。(JIRA 6系でも同じです)
https://confluence.atlassian.com/adminjiraserver073/supported-platforms-861253018.html
PostgreSQL を推奨していますね。(ポスグレあまり詳しくない・・・)
絵文字を表示させる方法
そうです。グレている場合じゃありません!
もう MySQL で JIRA たてちゃったんです!
でも、絵文字も入力したい!(表示させたい!)
そんな要望は以前からありました。そして偶然、方法を見つけました。それがこちらです。↓↓↓
🍺 を表示させたければ
🍺
このように入力してプレビューでも保存でもしてみてください。あら不思議!?キチンと絵文字として表示されています。(されていなかったらゴメンナサイ)
実際には絵文字を入力したわけではないので、データベースに絵文字が保存できたわけではありませんが、表示させることには成功しました。
ナンデ?
何をしたのかといいますと、絵文字を16進数による 数値文字参照 で表示させたわけです。絵文字の16進数による文字コードは下記サイトで調べることができます。
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/emoji.html
表示させたい絵文字の16進数コードを &#x
と ;
で挟んであげれば任意の絵文字(文字)を表示させることができます。(10進数コード数値文字参照の場合は x
は入らないので注意です)
おわりに
これで、「🍣🍺問題」や「ハハパパ問題」の本質が解決できたわけではありませんが、絵文字などの 4byte UTF-8 をどうしても表示させたいときは有効な手段かもしれません。