Edited at

MySQL な JIRA で絵文字などの 4byte UTF-8 文字を表示させる方法

More than 1 year has passed since last update.


概要

データベースに 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 をどうしても表示させたいときは有効な手段かもしれません。