WordPress 4.2 is almost here.  Yesterday marked the release of Beta 4 and if everything goes as planned, the first RC will be available next week. One of the
“features” that people are talking about in both positive and negative terms in emoji support. I put feature in quotation marks because really, emoji support is a bug fix.

The mission of WordPress is to democratize publishing.  WordPress aims to be usable by anyone, anywhere.  Part of this means to be usable in any language.  To help accomplish this, WordPress 4.2 is changing it’s tables to use utf8mb4 by default. Gary Pendergast summed up why this change was needed

In Unicode terms, utf8 can only store characters in the Basic Multilingual Plane, while utf8mb4 can store any Unicode character. This greatly expands the language usability of WordPress, especially in countries that use Han character sets. Unicode isn’t without its problems, but it’s the best option available.

In addition to supporting more character sets, utf8mb4 also supports emoji.  The problem is that browsers don’t always support emoji correctly. In another post on the Make WordPress Core blog, Gary describes these problems:

  • Some browsers don’t know how to render emoji 👎, or they have bugs in their implementation 😢. Notably, Chrome either doesn’t work or has bugs, older versions of IE don’t work, and Firefox has bugs.
  • Not all sites will be able to upgrade to utf8mb4, which means they’ll be unable to save emoji characters that they enter.

Not being able to use emoji makes everyone a sad panda (😭🐼), so we need to fix this.

Fixing WordPress to work in more languages exposes emoji. Since emoji support isn’t great yet, WordPress needs to shim it. Most users won’t understand why their site works in some browsers but not others. Some people find emoji annoying. Others find them fun. But as of WordPress 4.2, we all can at least find them.