tic:utf8
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
tic:utf8 [2016/08/12 13:08] – bloop | tic:utf8 [2016/08/12 13:15] (Version actuelle) – bloop | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
===== Convertir un site en UTF-8 ===== | ===== Convertir un site en UTF-8 ===== | ||
1/- Si on a la possibilité d’avoir accès au fichier de configuration Apache httpd.conf, rajouter en fin de fichier :\\ | 1/- Si on a la possibilité d’avoir accès au fichier de configuration Apache httpd.conf, rajouter en fin de fichier :\\ | ||
- | '' | + | '' |
- | //(S’il existe une ligne '' | + | //(S’il existe une ligne '' |
- | Ce réglage permettra à Apache d’envoyer les entêtes avec l’encodage UTF-8 pour les fichiers PHP et les fichiers HTML | + | Ce réglage permettra à Apache d’envoyer les entêtes avec l’encodage UTF-8 pour les fichiers PHP et les fichiers HTML. |
- | 2/- Si on a pas accès à ce fichier, modifier le fichier de configuration php.ini en décommentant la ligne : | + | 2/- Si on a pas accès à ce fichier, modifier le fichier de configuration php.ini en décommentant la ligne :\\ |
- | default_charset=" | + | '' |
- | Rajouter dans chaque fichier HTML le type d’encodage : | + | Rajouter dans chaque fichier HTML le type d’encodage :\\ |
- | <meta http-equiv=" | + | '' |
- | 3/- Si on a pas accès au fichier de configuration php.ini, créer ou modifier le fichier .htaccess, situé à la racine du projet, afin d’y insérer une instruction : | + | 3/- Si on a pas accès au fichier de configuration php.ini, créer ou modifier le fichier .htaccess, situé à la racine du projet, afin d’y insérer une instruction :\\ |
- | php_flag default_charset utf-8 | + | '' |
- | Rajouter dans chaque fichier HTML le type d’encodage : | + | Rajouter dans chaque fichier HTML le type d’encodage :\\ |
- | <meta http-equiv=" | + | '' |
- | 4/- Enfin, ultime solution si les 3 précédentes ont échouées, configurer l’entête de chaque page : | + | 4/- Enfin, ultime solution si les 3 précédentes ont échouées, configurer l’entête de chaque page :\\ |
- | PHP : header (' | + | PHP : '' |
- | HTML : <meta http-equiv=" | + | HTML : '' |
- | ATTENTION à n’utiliser qu’une seule des 4 solutions ci-dessus car elles se substituent les unes aux autres avec certaines priorités. Il devient donc ensuite difficile de savoir laquelle impose l’encodage. | + | //ATTENTION à n’utiliser qu’une seule des 4 solutions ci-dessus car elles se substituent les unes aux autres avec certaines priorités. Il devient donc ensuite difficile de savoir laquelle impose l’encodage.// |
- | Encoder les fichiers PHP existant : | + | Encoder les fichiers PHP existant :\\ |
Placer le fichier " | Placer le fichier " | ||
- | Encoder les fichiers HTML : | + | Encoder les fichiers HTML :\\ |
Ouvrir chaque fichier dans un éditeur du type Notepad++ et le convertir en "UTF-8 (sans BOM)". | Ouvrir chaque fichier dans un éditeur du type Notepad++ et le convertir en "UTF-8 (sans BOM)". | ||
- | Encoder le base de données : | + | Encoder le base de données :\\ |
- | Sur chaque table exécuter la commande suivante : | + | Sur chaque table exécuter la commande suivante :\\ |
- | ALTER TABLE `ma_table` CONVERT TO CHARACTER SET utf8 | + | '' |
- | Spécifier l’encodage dans lequel sont encodées les données envoyées via une requête : | + | Spécifier l’encodage dans lequel sont encodées les données envoyées via une requête :\\ |
- | Rajouter juste après le " | + | Rajouter juste après le " |
- | mysql_set_charset (' | + | '' |
- | Si on utilise PDO, il suffit de passer un quatrième argument à son constructeur comme ceci : | + | Si on utilise PDO, il suffit de passer un quatrième argument à son constructeur comme ceci :\\ |
- | $db = new PDO (' | + | < |
- | Voici une astuce qui m’a permis de convertir une base SPIP complète en une seule fois. Seule contrainte, passer la commande de conversion sur un Linux : | + | Voici une astuce qui m’a permis de convertir une base SPIP complète en une seule fois. Seule contrainte, passer la commande de conversion sur un Linux :\\ |
- | 1/- Faire un dump de la base complète soit avec PhpMyAdmin soit par la ligne de commande suivante | + | 1/- Faire un dump de la base complète soit avec PhpMyAdmin soit par la ligne de commande suivante\\ |
- | mysqldump -u info -p --quote-names --set-charset | + | < |
- | 2/- Dans un terminal Linux convertir la BDD par la ligne de commande suivante | + | 2/- Dans un terminal Linux convertir la BDD par la ligne de commande suivante\\ |
- | cat monDossier/ | + | < |
- | 3/- Réintégrer la base convertie avec PhpMyAdmin où par la ligne de commande suivante | + | 3/- Réintégrer la base convertie avec PhpMyAdmin où par la ligne de commande suivante\\ |
- | mysql -u info -p spip < monDossier/ | + | < |
tic/utf8.1471000104.txt.gz · Dernière modification : 2016/08/12 13:08 de bloop