MySQL croit que le contenu est encodé en latin1, même si son contenu est
réellement en utf8. Lors d'un export, il réencode la chaîne et va nous
pondre un truc complètement illisible et intraitable : une chaine utf-8 réencodé en utf-8. Il n'existe pas de programmes pour les faire revenir à un état normal, si ce n'est une librairie perl.
Pour les allergiques au langage des admins, il existe une autre solution :
- Faire un dump en forçant un character set à latin1, ce qui empeche
cette cochonnerie de réencoder.
mysqldump --set-charset latin1 ...
- Changer l'entête du dump pour lui dire que c'est de l'utf8.
NAMES=latin1 => NAME=utf8
- Recharger dans l'autre sens.
mysql ... < dump.sql
Et ô miracle de la technologie, les bases sont désormais cohérentes au niveau de l'encodage.
# .
Posté par Troy McClure (site web personnel) . Évalué à 2.
[^] # Drôle d'odeur
Posté par Kerro . Évalué à 1.
# Suggestion
Posté par Mouns (site web personnel) . Évalué à 1.
je n'ai jamais eu de probleme en procédant ainsi.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.