This plugin will attempt to convert a wordpress or wordpress mu database with content in whatever character set to utf8. It uses the information provided by this guide on the wordpress codex site. Before using this plugin it is mandatory to have a working and recent backup of your database.
If anything goes wrong you will need this!
Keep in mind that this plugin has been tested thoroughly for wordpress mu, but only minimaly for wordpress.
Please contact me if you encounter any issues with WordPress, patches are always welcome.
The plugin performs the following steps. First it will show you all of the tables within the database used by wordpress or wordpress mu. Between the brackets
it shows the current character set. The plugin allows you to uncheck tables you do not want to convert to UTF8. Unless you know what you’re doing it is
advised to convert the complete wordpress (mu) database to UTF8. After you have selected the tables for conversion and pressed the button convert columns
to binary counterparts for checked tables the plugin will go through all tables and look for columns of the type: char, varchar, tinytext, text, mediumtext, longtext, enum and set. Columns of these types will be converted to their binary counterparts according the list below:
- char –> binary
- varchar –> varbinary
- tinytext –> tinyblob
- text –> blob
- mediumtext –> mediumblob
- longtext –> longblob
As you might have noticed the column types enum and set are not changed to a different type, instead the plugin will set those columns character set to binary.
The next step is setting all selected tables to the UTF8 character set (the plugin uses collation utf8_general_ci by default). Third, the plugin will set the
database’s default character set to UTF8. Finally the plugin will switch all the columns back from their binary to their original types. Now you should have a
database converted to UTF8.
Note: Development for this plugin is made possible by VPRO Digitaal and started after encountering numerous solutions
including other plugins and none providing a 100% workable solution. If you need any help with this plugin, do not hesistate to contact me. My company is available for hire 😉
For the installation it is presumed you have either WordPress version 2.2.2 or WordPress Mu 1.2.5.
and you want to upgrade to WordPress Mu version 1.5.1. or Wordpres version 2.5.1.
- Backup your original files and database
- Make sure your backup works. If something goes wrong you’ll need a backup!!
- Update your currently installed wordpress or wordpress mu to version either 2.5.1 or 1.5.1 See this
Add the following to your wp-config.php if not already there:
define(‘DB_CHARSET’, ‘utf8’); define(‘DB_COLLATE’, ”);
Check your blog database character set, if its not utf8 this plugin might be help you out
- Upload the plugin in its own directory within the plugins directory (e.g. /wp-content/plugins/bbWP2UTF8)
- Login into WordPress or WordPress Mu as admin and activate the plugin called ‘bbWP2UTF8’ through the ‘Plugins’ menu
- On WordPress Mu go to ‘Site Admin’ and you’ll see a menu item called ‘bbWP2UTF8’.
On WordPress go to ‘Plugins’ and you’ll see a menu item called ‘bbWP2UTF8’
- Click on the menu item ‘bbWP2UTF8’ and follow the instructions
- Its a good idea to deactivate and remove this plugin after the conversion is finished
What is the default collation?
By default the plugin uses the utf8_general_ci collation.
You can change this in the code before installing the plugin.
Does this plugin work with WordPress Mu?
Yes, in fact it started out as a WordPress Mu plugin. Keep in mind though that it has been developed for use with the default wordpress ‘database abstraction layer’ for only one database. If you use HyperDB or multiple databases it will probably fail. If you happen to have multiple databases or use HyperDB I’d to receive a patch to make this work as well.
What license is this plugin under?
This license is by default licensed under the GPL. See the LICENSE file for the details.