Parser xml => pb encodage bdd mysql

Signaler
Messages postés
4
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
10 février 2009
-
Messages postés
4
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
10 février 2009
-
Bonjour,

Je suis en train de parser un flux xml
<?xml version="1.0" encoding="ISO-8859-1"?>

J'arrive à tout envoyer dans la base de données, le problème c'est que les accents du type é, à sont écrit de cette façon É, é.

Le champ à pour interclassement <dfn title="suédois, insensible à la casse">latin1_swedish_ci dans ma base de donnée !

Savez vous comment je peux faire pour résoudre ce problème ? j'ai beau chercher sur internet je tombe su plein plein d'information, j'ai beau modifier l'interclassement du champ rien ne change !!

</dfn>

5 réponses

Messages postés
149
Date d'inscription
lundi 7 février 2005
Statut
Membre
Dernière intervention
6 février 2009

salut,
tu as deux choix, soit tu passes l'encodage de ta bdd en ISO-8859-1 soit tu passes ton xml dans le meme encodage que ta base, par contre ca n'a rien a voir avec le latin1_swedish qui correspond à l'interclassement pour l'ordre alphabéthique et tout.
Attention! Si t'as BDD était en utf-8 par exemple, tous les accents vont péter dans ta base quand tu vas faire ta modif.

Courage
Messages postés
4
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
10 février 2009

Salut,

J'ai trouvé un truc plus simple à savoir remplacer les caractères par les bonnes lettres :

$nom= str_replace('a‰','E',$nom);
$nom= str_replace('a©','é',$nom);
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
Salut,

Plus simple ? Je pense plutôt que c'est le début des problèmes :o)
Sauf si tu as des restrictions spécifiques, le plus simple reste de modifier ta déclaration d'encodage xml.

Cordialement,

Kohntark -
Messages postés
149
Date d'inscription
lundi 7 février 2005
Statut
Membre
Dernière intervention
6 février 2009

d'accord avec kohntark, str_replace = bricolage comme aiment le dire les profs de dev
Messages postés
4
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
10 février 2009

c'était une solution temportaire mais c'est bon maintenant,

j'utilise utf8_decode

Convertit une chaîne ISO-8859-1 en UTF-8 pour plus de détails sur le codage UTF-8

Ca m'évite de faire mon bricolage

merci les gars