Interclassement mysql : tout mes accents déconne :(

Stellvia
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 451
Inscription: 28 Déc 2004

Interclassement mysql : tout mes accents déconne :(

Message le Lun Mai 26, 2008 14:57

Bonjour, :D

J'ais changé recemment de serveur dédié et pendant la migration tout mes accents sont devenus fou dans PHPMYADMIN , genre :

Ã
é

Apres une recherche sur google j'ais compris que c'etait un problème d'interclassement avec mysql .
J'ais mis ma base en UTF-8 general_ci mais ca ne résoud malheureusement pas le problème .

J'ais essayé aussi l'astuce décrite dans la doc de mysql : passer la colonne en BLOB puis à nouveau en txt , mais ca ne marche pas non plus .

Que faire pour résoudre ce problème ?
:oops:


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Lun Mai 26, 2008 15:13

Tes pages où tu affiches tes infos sont dans quel encodage?

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

Faut que ça soit en UTF-8.


Bool
WRInaute passionné
WRInaute passionné
 
Messages: 1290
Inscription: 26 Fév 2004

Message le Lun Mai 26, 2008 15:44

Généralement la connexion MySQL est en ISO-8859-1, et donc peu importe l'interclassement utilisé pour le stockage, les données sont récupérées en ISO-8859-1 (conversion à la volée).

Le soucis c'est plutôt le chargement : si les données étaient en UTF-8 et que tu les as chargées telles qu'elle sans indiquer à MySQL qu'il s'agissait d'UTF-8, effectivement il aura considéré le tout comme de l'ISO, à tord.

Reste à savoir comment la migration de serveur a été faite... proprement à coup de mysqldump ? à l'arrache en copiant les fichiers des bases de données ? Ou la méthode kamikaze : à la main dans phpmyadmin ?
Les deux premières méthodes ne posent aucun soucis d'encodage ; la troisième je n'ai jamais réussi à la faire fonctionner correctement.

Stellvia
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 451
Inscription: 28 Déc 2004

Message le Lun Mai 26, 2008 17:22

J'ais fait une exportation de ma base de donnée dans un txt ( 120 meg ) , et je l'ais injecté avec une requete sql sur le nouveau serveur .

Bref la methode kamikaze comme tu dis ..... :/


Bool
WRInaute passionné
WRInaute passionné
 
Messages: 1290
Inscription: 26 Fév 2004

Message le Lun Mai 26, 2008 20:19

Si tu as conservé ces fichiers TXT, il doit être faisaible de les réinjecter "proprement" en spécifiant le bon encodage avant l'insertion.

Stellvia
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 451
Inscription: 28 Déc 2004

Message le Mar Mai 27, 2008 12:13

Je ne l'ais pas gardé malheureusement, j'avais pas fait gaffe en fait au début , je me suis dis tout est ok je delete .

J'ais fait une belle bourde je suis trop stupide ..... c'est vraiment irratrapable à tout avis ?

Je me vois pas réecrire toute la base à la main pour remettre les accents ...


Bool
WRInaute passionné
WRInaute passionné
 
Messages: 1290
Inscription: 26 Fév 2004

Message le Mar Mai 27, 2008 12:17

Si, ce doit être rattrapable, mais de manière plus ou moins compliquée.

Eventuellement, fait un export à coup de mysqldump. Au début du fichier il y aura une ligne indiquant le charset. En le modifiant il y a probablement de rattraper le coup.

Mais sans avoir exactement quel était le charset utilisé pour tes fichiers TXT, ni le charset utilisé pour l'injection (via phpmyadmin ?), difficile d'indiquer une solution "tout prête".
D'autant plus que visiblement tu as déjà tenté des conversions.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités