A noter

C'est le 830e jour depuis le début de cette aventure !

Wordpress Lorsque la nouvelle version de ce blog est parue en août dernier, elle recouvrait des aspects qui ne sont pas forcément visibles de prime abord. Une partie du travail réalisé concernait d’ailleurs l’installation de la dernière version de Wordpress, la plateforme de publication que j’utilise. Et cela n’a pas été une mince affaire, car celle-ci impliquait de nombreux changements, comme par exemple celui impactant la base de données.

Pour être plus précis, il s’agissait de migrer de la version 2.0.3 vers la version 2.2 de Wordpress. Et surtout de convertir la base de données existante alors encodée avec le jeu de caractères latin1 pour faire en sorte qu’elle utilise plutôt le jeu de caractères utf8, maintenant utilisé en standard par Wordpress. Ce dernier jeu est en effet plus approprié, car il supporte les spécificités de nombreuses langues (par exemple le umlaut en allemand).

La procédure suivante ne concerne que les bases de données fonctionnant avec MySQL. Il faudra donc l’adapter si vous avez opté pour un autre gestionnaire de bases de données :

  1. Passer le blog en maintenance (ou bloquer son accès d’une autre manière afin que personne ne puisse modifier les informations du blog pendant cette procédure)
  2. Effacer les commentaires marqués comme étant des spams (et éventuellement n’importe quel autre type de donnée qu’il ne serait pas pertinent de sauvegarder)
  3. Faire une sauvegarde de la base de données
  4. Exporter le contenu de la base de données (il faut remplacer nom_de_la_base par le nom de la base de données de votre blog) :
    mysqldump -u root -p --opt --add-drop-table --default-character-set=latin1 nom_de_la_base > database.latin.sql
  5. Créer un nouveau fichier qui contiendra le contenu de la nouvelle version de la base de données :
    copy database.latin.sql database.utf8.sql
  6. Remplacer toutes les occurrences dans le fichier database.utf8.sql de la chaîne de caractères latin1_german1_ci par utf8_unicode_ci
  7. Remplacer toutes les occurrences dans le fichier database.utf8.sql de la chaîne de caractères latin1 par utf8
  8. Effacer la base de données actuelle et en créer une nouvelle supportant le jeu de caractères utf8 :
    mysql -u root -p -e "DROP DATABASE IF EXISTS `nom_de_la_base`; CREATE DATABASE IF NOT EXISTS `nom_de_la_base` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;"
  9. Importer le nouveau contenu dans la base de données :
    mysql -u root -p nom_de_la_base < database.utf8.sql
  10. Mettre à jour les fichiers de Wordpress (c’est-à-dire télécharger sur le serveur où le blog est hébergé les fichiers de la nouvelle version)
  11. Exécuter le script de mise à niveau :
    http://www.nom_du_blog.com/wp-admin/upgrade.php
  12. Désactiver le mode maintenance du blog

A noter qu’il existe un plugin pour Wordpress qui peut se charger pour vous de cette conversion : UTF-8 Database Converter. Le site de Wordpress dispose d’ailleurs d’une page qui parle de cette problématique spécifique et propose également une procédure de migration (quoiqu’un peu plus fastidieuse). En tout état de cause, n’oubliez pas de sauvegarder et de conserver une copie du contenu original de la base de données.

A lire également

Vous pouvez continuer votre lecture sur des sujets similaires en consultant les articles suivants :

Les visiteurs qui ont vu cette page ont consulté ensuite :

A savoir

La rédaction de cet article a nécessité 1 heure et 5 minutes. Si vous le souhaitez, vous pouvez être prévenu de la parution de nouveaux articles en vous abonnant par RSS ou par email.


3 commentaires à propos de “Comment migrer Wordpress 2.0.3 vers 2.2 et convertir la base de données latin1 en utf8” :

  1. Roooh tout bête mais franchement très astucieux !!! Si j’avais réfléchi un peu plus il y a quelques temps quand j’ai du migrer un blog en ISO-8859-1 vers UTF-8, je m’en sers épargné des maux de têtes et du temps…

    Merci pour l’astuce ! :D

  2. Pas de quoi BurningHat (ces histoires d’encodage, c’est toujours compliqué).

  3. Tout pareil que BurningHat… Si seulement tu avais écrit cet article il y a 6 mois, cela m’aurait évité d’avoir a retravailler la base à la main pour convertir tous les caracteres qui étaient parti en vrille ;-)

Ajouter un commentaire

Les informations obligatoires sont indiquées par une étoile rouge *.


2 rétroliens à propos de “Comment migrer Wordpress 2.0.3 vers 2.2 et convertir la base de données latin1 en utf8” :

  1. Hot Links for 20/12/07 | Nowhere Else 2.0
    Le 20 décembre 2007 à 00:44
  2. Blog sur L’actualité Multimédia du Web2.0 | Mes favoris de la semaine #3
    Le 23 décembre 2007 à 15:57


A Propos

Pas facile de franchir le pas et d'abandonner un poste de consultant. Mais depuis octobre 2006, je me consacre entièrement à la conception d'un nouveau service Internet et au montage d'une société.

Ce blog raconte le parcours d'un entrepreneur dans la net économie et aborde de nombreux aspects pratiques, juridiques et financiers liés au développement d'un business sur Internet.

Lire la suite…