Interclassement mysql : tout mes accents déconne :(

WRInaute impliqué
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:
 
WRInaute passionné
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.
 
WRInaute passionné
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.
 
WRInaute impliqué
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 ..... :/
 
WRInaute passionné
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.
 
WRInaute impliqué
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 ...
 
WRInaute passionné
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.
 
Discussions similaires
Haut