Changement BDD et encodage caractères

Résolu/Fermé
Super Resistant Messages postés 24 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 27 avril 2009 - 8 déc. 2008 à 11:32
Super Resistant Messages postés 24 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 27 avril 2009 - 9 déc. 2008 à 13:31
Bonjour,
Nous changeons d'hébergeur pour tous les sites de ma boite et je m'arrache les cheveux sur un truc bizarre :
je récupère ma base de données chez mon ancien hébergeur via cette commande :
"mysqldump --host=".$host." --user=".$user." --password=".$pass." --default-character-set=latin1 ".$base." > ".$file;

Je lui demande bien de me récupérer mes données avec le charset latin1.
J'ai mon fichier de dump, que j'importe aussitôt chez mon nouvel hébergeur par phpmyadmin -> importer en choisissant la aussi le charset latin1.
Je regarde dans mes tables, les accents sont affichés correctement.

Je me connecte sur mon site et là les accents ont disparu (encodage navigateur : ISO8859-1).
Je vais voir dans affichage, modifie l'encodage de ISO8859-1 pour UTF-8 et là les données de la base de données s'affichent correctement MAIS tous mes fichiers sont encodés en ISO8859-1 donc les caractères codés en dur dans mes fichiers ne s'affichent plus comme ils le devraient !

Si vous avez une idée, je suis preneur j'ai vraiment tout tenté :)

Au fait :
Interclassement des tables : latin1_swedish_ci
Interclassement de la base : latin1_swedish_ci

Super Résistant
A voir également:

5 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
8 déc. 2008 à 12:11
Vous êtes sous Apache non?
0
Super Resistant Messages postés 24 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 27 avril 2009 6
8 déc. 2008 à 13:21
Bonjour Arth,
oui , je suis sous Apache et ce site est en PHP/Mysql

J'ai également tenté de remplir ma base via la commande "mysql --host=".$host." --user=".$user." --password=".$pass." ".$base." < ".$file; dans un script php mais le problème reste la même...

Super Résistant
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
8 déc. 2008 à 17:00
J'avais ce problème sous Apache et cela venat d'un problème de fichier de conf apache, je ne m'étais alors pas tourné vers l'encodage de la BDD.

Voici la ligne à rajouter dans la conf :

AddDefaultCharset off

Juste avant les différents AddCharset

J'espère que ça résoudra ton problème d'encodage.
0
Super Resistant Messages postés 24 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 27 avril 2009 6
9 déc. 2008 à 11:17
Bonjour Arth,
Merci pour ta réponse.
J'ai testé ce matin sans plus de succès, je continue de me renseigner ....

Super Résistant
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Super Resistant Messages postés 24 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 27 avril 2009 6
9 déc. 2008 à 13:31
Ok, la réponse est dans ces 2 lignes magiques :
mysql_query("SET NAMES 'latin1'");
mysql_query("SET CHARACTER SET 'latin1'");

Il faut que la connexion se fasse en latin1

...

Super Résistant
0