Check-list pour le passage en UTF-8

Icone

J’ai converti ce blog de ISO-8859-1 en UTF-8 cet après-midi pour pouvoir afficher correctement les caractères arabes, chinois, japonais, coréens, …

Important : Ne pas faire plus d’une fois cette conversion !!!

En cas de problème, restaurez votre base de données à l’aide du plugin Operation MySQL et vérifiez que le fichier conf/dotclear.ini comporte bien une ligne dc_encoding = ISO-8859-1 (voir vers la fin du fichier). J’ai testé ce retour en arrière sur un blog de test et tout est revenu comme avant sans problèmes.


Pour cela j’ai effectué pour cela les étapes suivantes :

  1. Fermeture des commentaires et des trackbacks pour éviter de nouvelles entrées pendant la conversion. A faire à l’aide du plugin Configuration de DotClear
  2. Sauvegarde de la base de donnée à l’aide du plugin Operation MySQL[1]
  3. J’avais quelques pages connexes que j’ai éditées pour remplacer tous les caractères accentués par leurs équivalents HTML. Par exemple un é devient é. Cela permet d’avoir des pages indépendantes du jeu de caractères utilisé[2]. N’oubliez pas de vérifier et si nécessaire de corriger le fichier related.ini qui peut comporter des caractères accentués !
  4. Idem pour tous les fichiers du thème (si nécessaire).
  5. Conversion des tables de base de DotClear et changement du jeu de caractère utilisé pour le blog à l’aide du plugin Conversion UTF-8. Si vous avez effectué correctement le point 2, il n’est pas nécessaire de sauvegarder une nouvelle fois la base de données, mais ça ne mange pas de pain, on peut le refaire sans crainte.

Arrivé ici, une bonne partie du travail est fait. Il faut maintenant s’occuper des tables utilisées par certains plugins. Pour cela j’ai développé vite fait un petit plugin[3] qui s’occupe de la conversion des tables utilisées par les plugins suivants :

  • dcCC — Creative Commons files creator for DotClear,
  • Citations — Insertion d’une citation aléatoire,
  • Jour J — Permet d’intégrer une liste de jours J dans votre blog,
  • Galerie — Intégrez une galerie à votre blog,
  • Métadonnées de billets — Informations supplémentaires concernant vos billets,
  • Sondage — Un gestionnaire de sondage,
  • Shoutbox — Affiche une tribune,
  • Veni Vidi Vici — Gestion d’une liste de films, livres et autres médias favoris.

Ce plugin doit être adapté en fonction des tables supplémentaires que vous avez. Une fonction de conversion convertTable() est là pour faire le boulot, et attend trois paramètres :

  • Le nom de la table,
  • Un tableau contenant la liste des champs à convertir — a priori tous les champs textes de la table,
  • Un tableau contenant la liste des champs clés — a priori il y en a un seul (en tout cas dans chacune des tables que j’ai du convertir).

Après ces quelques détails, on continue :

  1. Une fois le plugin installé et adapté (fichier index.php du plugin), allez sur sa page d’administration et effectuez les étapes une par une jusqu’à la fin. Arrivé là toutes les tables doivent être converties.
  2. Un petit test du blog pour vérifier que tout va bien et puis on ouvre à nouveaux les commentaires et les trackbacks à l’aide du plugin Configuration de DotClear. Au passage j’ai corrigé la description du blog qui est stockée dans le fichier de configuration de DotClear et pas dans la base.

Voilà c’est tout :-)

Notes

[1] Pour conserver une version ISO-8859-1 de cette sauvegarde, j’ai modifié le nom de la sauvegarde pour qu’elle ne soit pas écrasée par une suivante faite le jour même. Pour cela, j’ai rajouté -iso devant le .sql.gz.

[2] Une liste relativement complète des équivalents HTML se trouve ici.

[3] Attention ce plugin est un dérivé du plugin de conversion officiel et je n’ai pas pris soin de mettre en place tous les libellés utilisés. Ceci-dit pour un plugin qui ne doit servir qu’une fois, on ne va pas faire la fine bouche.

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/2910

Haut de page