Recherche rapide : Avancée

 

Vous êtes ici : Accueil > Dossiers > Installation de TYPO3 > Passer à l'encodage UTF-8 > Passer à l'encodage UTF-8 (première partie)

Comment passer à l'encodage UTF-8 ?

Le passage à l'encodage UTF-8 est de nos jours recommandé dans le développement de sites internet et obligatoire dans certains cas. Il y a plusieurs raisons à celà mais notons que l'un des intérêts, c'est de ne plus utiliser d'entités html pour les caractères accentués. Le format utf-8 est basé sur l'unicode, un langage capable de restituer n'importe quelle langue. Il y a, aux cotés de l'utf-8, l'utf-16 et l'utf-32 mais l'utf-8 reste le plus adapté à Internet, Unix et GNU/Linux. Voir le wiki pour plus de précisions http://fr.wikipedia.org/wiki/Unicode#UTF-8. Aujourd'hui, la majorité des traitements informatiques sont effectués dans ce codage. Un passage dans ce format permet donc de conserver une meilleure compatibilité. Il est parfois compliqué de réaliser une migration d'ISO vers UTF-8, alors, pourquoi ne passerait-on pas directement à utf-8 ? Avec TYPO3, le système de fichiers doit respecter ce format mais la base de données aussi ! Nous allons donc expliquer dans cet article les actions à effectuer lors de l'installation d'une nouvelle instance de TYPO3, les points à vérifier. La liste n'est pas longue mais ceci peu servir de pense-bête bien pratique ;o)

1. Création de la base de données au format UTF-8

Voici les commandes SQL à effectuer. Nous utilisons ci-dessous la collation utf8_general_ci car cette dernière autorise des recherches insensibles à la casse, ce qui peut être pratique.

Création de la base de données :
CREATE DATABASE nom_base_de_donnees DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

L'utilisateur 'identifiant' reçoit l'accès à notre base de données en lecture et en écriture :
GRANT ALL PRIVILEGES ON nom_base_de_donnees.* TO identifiant@localhost IDENTIFIED BY 'password';

2. Install tool de TYPO3, points à vérifier

Dans la 5ème option du menu :

[setDBinit] est renseigné de la manière suivante :
SET NAMES utf8
SET CHARACTER SET utf8

[UTF8filesystem] est une option non cochée

[forceCharset] = utf-8

 

Explications

C'est terminé pour la partie installation. Nous discuterons prochainement des options en typoscript pour la partie frontend.

Pour migrer une base existante vers le format utf8

Pour effectuer cette opération, vous devez disposer d'un shell pour accéder à votre serveur.

- Faire une sauvegarde de votre base de données avec la commande suivante : mysqldump -u nom_utilisateur -p nom_base_de_donnees > sauvegarde-ddmmyy.sql
- Supprimer la base de données avec un drop database
- Créer une nouvelle base de données :
CREATE DATABASE nom_base_de_donnees DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
- Modifier les paramètres de TYPO3 dans l'install tool
- Modifier le charset de la sauvegarde sql grâce à un outil externe
Exemple : iconv -f iso-8859-1 -t utf8 sauvegarde-ddmmyy.sql > sauvegarde-utf8-ddmmyy.sql
- Modifier les 'CHARSET=latin1' par des 'CHARSET=utf8' avec la commande suivante :
sed 's/CHARSET=latin1/CHARSET=utf8/'
Notez que vous auriez pu le faire lors du mysqldump :
mysqldump -u nom_utilisateur -p nom_base_de_donnee | sed 's/CHARSET=latin1/CHARSET=utf8/'  > sauvegarde-ddmmyy.sql
Restaurer la sauvegarde avec mysql -u nom_utilisateur -p nom_base_de_donnee < sauvegarde-utf8-ddmmyy.sql

Passez éventuellement par un autre éditeur si vous ne parvenez pas à lancer cette commande.

Si vous rencontrez des problèmes / erreurs sur certaines pages ou bien avec Templavoilà, enregistrez vos fichiers html au format UTF8 avec un éditeur approprié.

Les derniers dossiers à consulter :

Les nouveautés de la version 4.2
Un petit aperçu des nouveautés de la version 4.2 de TYPO3