After a recent update to my About page, I saw that Japanese characters were being rendered as question marks. Since Japanese characters were immediately changed to question marks after hitting the “Update” button in the WordPress editor, I quickly ruled out a font-related bug as the cause of the issue. After some Googling and subsequent database exploration, I discovered that my web host’s default database character set is
latin1 (ISO-8859-1), which doesn’t support Japanese characters.
To fix the default character set, I downloaded an SQL dump of my database and duplicated it for backup purposes. Next, I opened the SQL file in Coda 2. If you don’t have Coda 2, any other text editor should work as well.
Next, I replaced all instances of
DEFAULT CHARSET=latin1 with
DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci. This changes both the default character set and collation properties of the database. Next, I imported the fixed database into MySQL, overwriting the old one.
Finally, I ensured my
wp-config.php settings were on the same page as my database by adding these two lines after my database hostname declaration.
define('DB_CHARSET', 'utf8mb4'); define('DB_COLLATE', 'utf8mb4_unicode_ci');
Problem fixed. Japanese works just fine now. すごい！