Last year, WordPress added emoji support to posts and pages.
When that release arrived, I half-jokingly wrote that it was the most important WordPress feature in years. Emoji are hugely popular on mobile devices, amongst younger users, and in Asia.
Now, with the release of Joomla 3.5, you can use emoji in Joomla also!
Emoji are fun, of course, but there are also some serious issues behind this change.
How to add emoji to your Joomla articles
You can copy-and-paste emojis directly into Joomla 3.5 posts, or anywhere that a text area is available:
If your Joomla 3.5 site does not support emoji
Yes, yes, this is an emergency, I know. But don't panic. We can get emoji for you.
If your Joomla 3.5 site doesn't support emoji, it probably means that your database collation needs to be changed.
So, to get emoji, you will need to update your database. I recommend Admin Tools as the best way to do this.
- Download and install Admin Tools.
- Go to Components > Admin Tools > Change Database Collation.
- You'll now see a message: "Things to know before changing the database collation":
Joomla! is designed to work with the UTF-8 collation. However this collation does not allow you to use Emoji and other multibyte characters such as certain Traditional Chinese glyphs, Cherokee etc. In this case you need to change the collation to “UTF-8 Multibyte”. You may need to repeat that after installing or upgrading extensions. After changing the collation you are strongly advised to use the Repair & Optimise feature.
Warning! If you convert your database to the “UTF-8 Multibyte” collation you MUST have the System - Admin Tools plugin activated to edit and display multibyte content (such as Emoji). This will no longer be necessary when Joomla! itself includes support for UTF-8 Multibyte.
- After reading the message, click "Apply":
You should have now have emoji!
Thanks to Michael Babker for his help with this.
The serious business behind emoji
Technically, Joomla can now support emoji because it now support the UTF8MB4 database collation.
Beyond emoji, UTF8MB4 can make Joomla increasingly multi-lingual with support for more Asian languages.
Also, Nicholas, the developer of Admin Tools, explained that UTF8MB4 can prevent serious security problems:
Also UTF8MB4 support which on the surface sound silly (Emoji support) but under the hood is a big security improvement. In fact, had it been released in September 2015 –per the original release plan– the zero day attack in December 17th 2015 would have been avoided. The reason is that if you post multibyte characters to a Joomla! 1.0.0 up to and including 3.4.8 site the data will be validated as a whole but MySQL will truncate all data after the first multibyte character. This is a powerful manipulation tool which allows attackers to inject dangerous content into the database. That's why the zero day session attack even worked.