Convertir une base en UTF-8
Un article de EpistemaWiki.
[modifier]
Symptômes
- Présence de caractères encodés é dans le PHPMyAdmin mais pas dans le LMS
- Base en latin1 (interclassement latin1_swedish_ci)
- Problème d'ordonnancement avec les caractères accentués
- Absence de la ligne $GLOBALS['conf']['DatabaseCharset'] = 'utf8'; dans le conf.php
[modifier]
Procédure de correction
- Exporter la base structure + données en cochant les "drop table"
- Ouvrir le .sql avec TextPad
- Replacer les occurrences de "DEFAULT CHARSET=latin1" par "DEFAULT CHARSET=utf8"
- Replacer les occurrences de "DEFAULT CHARACTER SET latin1" par "DEFAULT CHARACTER SET utf8"
- Enregistrer
- Convertir le fichier en latin :
iconv -f UTF-8 -t ISO-8859-1 dump.sql - Réimporter la base avec ce nouveau fichier
- Ajouter la ligne dans le conf du LMS : $GLOBALS['conf']['DatabaseCharset'] = 'utf8';
