Earlier in the year, we noticed a problem with JSON in WordPress. The JSON spec very explicitly notes that it only supports UTF-8, whereas WordPress can use any character set that MySQL supports. So, for sites that didn’t use MySQL’s utf8 or utf8mb4 character sets, this generally presented itself as json_encode() returning false; which resulted in either… Continue reading JSON Encoding in WordPress 4.1
Category: WordPress
The Next Adventure
Over my past few years at Automattic, I’ve worked on a bunch of different teams and projects – VideoPress, the WordPress iOS app, various Social projects, and most recently, o2. I even took a few months to work on WordPress core, helping build the auto-update functionality that we now see rolling out security updates within… Continue reading The Next Adventure
WordPress and UTF-8
Update: WordPress 4.2 has full UTF-8 support! There’s no need to upgrade manually any more. ? For many years, MySQL had only supported a small part of UTF-8, a section commonly referred to as plane 0, the “Basic Multilingual Plane”, or the BMP. The UTF-8 spec is divided into “planes“, and plane 0 contains the… Continue reading WordPress and UTF-8
Don’t Let Your Plugin Be Activated on Incompatible Sites
When you write a WordPress plugin, you can specify a minimum WordPress version that your code is compatible with, using the “Requires” option in your plugin header, but it isn’t enforced. Along with that, there’s no way to specify a minimum version of PHP or MySQL. This can cause your users to have bad experiences… Continue reading Don’t Let Your Plugin Be Activated on Incompatible Sites
Don’t Do Regular Expressions, Use The DOM
I’m as guilty of this as anyone – I have a lump of HTML that I need to extract information from. So, I write a quick regular expression, knowing full well that they’re not appropriate for the job. But I do it anyway. This time, I decided to try doing things a better way. Here’s… Continue reading Don’t Do Regular Expressions, Use The DOM