Problème pour migrer une BDD mysql

bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015 - 10 août 2010 à 11:59
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 10 août 2010 à 17:26
Bonjour,


j'ai fait la migration d'une base de données MySQL pour cela j'ai créé une requete permettant de reconstruire les tables de la bdd sur une autre base le problème est que quand j'execute cette requête les caractères spéciaux des chaines sont remplacés par des codes par exemple :

"Privée" -> "Privée"


Si quelqu'un a une idée ou a déjà eu ce problème !


Merci !!!!!!!!!


;-)

3 réponses

RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
10 août 2010 à 16:12
Bonjour,

Ta nouvelle BDD est encodée en UTF8(unicode) alors que la précédent était ISO-latin1 (caractère latin).

Regarde les interclassement des deux DB



______oOOO________OOOo________

RaftY, du code C commode!
0
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015
10 août 2010 à 17:02
comment modifier l'interclassement d'une bdd déjàa créée (sans modifier chaque table une à une )


Merci pour ta rep mec !

;-)
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
10 août 2010 à 17:26
Salut,

L'interclassement n'a rien à voir là dedans, mais c'est un clairement un problème d'encodage.
Mieux vaut cibler le problème exact avant toute action :
Le serveur (et PHP) est il le même qu'auparavant ?

Quel est l'encodage utilisé par le serveur actuel ?
Quel était celui d'avant ?
Si tu utilises PHPMyAdmin tu peux regarder l'encodage avec lequel travaille le serveur (page d'accueil "Jeu de caractères pour MySQL:...") ainsi que l'onglet "variables" ("character set ...)

Comment as tu pratiqué procédé pour construire et réinjecter ta requête ? A quoi ressemble t elle (pas tout hein, juste l'essentiel)

Le plus simple à mon sens et de refaire un export / import correct, en spécifiant les encodages qui vont bien. Si ce n'est pas possible tu peux, sous réserve qu'il ne soit pas corrompu) modifier ta requête en spécifiant les transformations d'encodage à réaliser.

Enfin si j'étais toi je procéderai ainsi, parce modifier l'encodage d'une base existante peut s'avérer être un calvaire si les données ont déjà été "touchées" (encodées en ISO-8859 alors qu'elles étaient en UTF8 par exemple)

Cordialement,



Kohntark -
0
Rejoignez-nous