Comment passer son site en utf-8

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Ce script vous permet de convertir votre dump de la base de données, de iso-8859-1 vers utf-8.

ATTENTION : cet article est obsolète. Le convertisseur de jeux de caractères vers utf-8 est désormais intégré à SPIP 1.9, et beaucoup plus facile et sûr que la méthode exposée ci-dessous.

Vous avez probablement commencé à utiliser SPIP dans le jeu de caractères iso-8859-1, qui correspond à l’intallation standard. Mais ce jeu est limité aux caractères occidentaux, et voilà que votre site doit devenir multilingue ; il est temps de passer à utf-8. Pour en savoir plus, vous pouvez lire Voyage dans la tour de Babel du net.

Remarque : à ceux qui s’inquiéteraient des risques d’un tel changement : d’après mon expérience sur des sites comment www.spip.net ou www.monde-diplomatique.fr, personne ne s’est plaint. Cela signifie donc que les navigateurs qui ne sauraient pas lire l’utf-8 ne sont plus du tout en circulation. (Bien entendu, ce n’est peut-être pas le cas dans des applications très spécifiques.)

-  Commencez par vérifier vos squelettes. Ceux-ci ne doivent en effet contenir aucun caractère accentué sous forme « brute » : il faut donc éliminer tous ces « é » des squelettes, et les remplacer par leur entité html, &eacute;... il faut ensuite vérifier qu’ils contiennent bien, dans la partie <head>...</head>, la ligne suivante :

<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET">

-  Procédez à une sauvegarde de la base de données. Selon la méthode habituelle, au format dump.xml ou dump.xml.gz.

-  Convertissez la sauvegarde au format utf-8.

Pour cela, installez le script ci-dessous dans le répertoire ecrire/, puis ouvrez la page avec votre navigateur, et suivez les instructions (une nouvelle authentification ftp est nécessaire).

Vous pouvez suivre l’opération de conversion (qui peut durer plusieurs minutes sur un gros site !) en regardant le fichier ecrire/data/spip.log : il doit se terminer par une mention « conversion effectuée ».

Si la conversion a fonctionné normalement (sans timeout), vous pouvez réimporter la base ecrire/data/dump-utf8.xml. (N’ayez crainte : si le résultat ne vous convient pas, il sera toujours temps de réinstaller la sauvegarde dump.xml.)

N. B. : si votre base de départ n’était pas en iso-8859-1, les résultats seront imprévisibles, et sûrement pas très bons :)

-  Configurez le site. Rendez-vous dans la configuration du site, partie « Gestion des langues », et indiquez à SPIP que le charset de la base est désormais utf-8. (Cette option n’est disponible que si vous êtes en interface complète).

-  Videz le cache. Il est impératif de vider le cache, sinon certains navigateurs n’arriveront pas à afficher des pages se présentant comme de l’utf-8 (d’après les nouveaux réglages de SPIP) mais contenant des caractères iso-8859-1 (encore présents dans les « vieux » fichiers cache).

Si vous avez converti votre site grâce à cette méthode, je vous remercie de le signaler, soit dans le forum ci-dessous, soit en m’envoyant un mail privé, indiquant son URL.

PS : Pour convertir depuis l’arabe (windows-1256), il faudra au préalable ouvrir le fichier du script et modifier la valeur de $import_charset.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom