Conversion d'une base mysql d'UTF-8 à ISO-8859-1

Bonjour,

J’ai récupéré une base mysql, avec les caractères apparemment encodés en UTF-8. Voici un exemple d’insertion :

INSERT INTO `CTHP_societe` VALUES (1,'2003-07-25 12:58:36','azerty','TC.HP i/e','SARL','10000','SIRET : 123 456 159000','NAF 1234 B','TVA FR 123456789','TC.HP i/e : représentation de machines pour le formage du fil, du feuillard et de la fabrication des ressorts ainsi que les equipements peripheriques liés à ces domaines d\'activités.','50 rue Jean Vaujany','75001','PARIS,'72','+33 (0)6.23.98.12.52','');

Quand je récupère le dump de cette base et que je le met dans mon nouveau serveur MySQL, les accents ne passent pas. Apparemment, les encodages de caractères ne sont pas les mêmes.

Je ne tiens pas à utiliser des utf8_decode de PHP. Mais à avoir une base correctement formatée (cette base n’est pas utilisée que par PHP, donc autant qu’elle soit propre).

Je lis partout d’utiliser iconv. Mais ça ne fonctionne pas. Un “iconv --from-code=UTF-8 --to-code=ISO-8859-1” me sort exactement le même texte. Il ne change pas mes accents.

Avez-vous une idée et un moyen de convertir les caractères spéciaux de ce dump ?

Merci.

N’oublie pas que si tu as des caractères qui n’existe pas en ISO tu auras des erreurs lors de ta conversion…

Personnellement, je te déconseille fortement de passer d’utf-8 à ISO. Par contre, ce que tu dois chercher c’est:

  1. tes tables sont elles bien avec l’encoding UTF-8 sur le nouveau serveur ?
  2. le script est-il lu comme de l’utf-8 ? même si ça ne devrait à priori pas trop poser de problèmes, c’est une possibilité

Pour le reste, si tes scripts php marchaient avec l’utf-8 tu ne perdras rien.

Maintenant, faut voir comment tu génères ton dump : phpmyadmin? (tu as une option d’encodage je crois) mysqlexport?

C’est vrai qu’utf-8 c’est l’avenir, vaut mieux faire l’inverse et passer tout ton site / base de données en utf-8 :wink:

Hello, il existe le logiciel MySQL Iso :
www.inbconcept.ch…

Salutations