IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs XML Discussion :

[SAX] problème d'accent lors du parsage du fichier XML


Sujet :

APIs XML

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [SAX] problème d'accent lors du parsage du fichier XML
    Je fait une copie de ma base de données dans un fichier XML bon la pas de problème. Mais par contre quand je veu restaurer ma base de données avec mon fichier XML j'ai un gros soucie de restitution quand il y a des accents...

    l'entête de mon fichier XML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="ISO-8859-1"?>
    ma base de donnée MySQL5 a pour interclassement latin1_swedish_ci

    morceau qui pose problème dans mon fichier XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	<nom_client> Lafarge Bétons Sud Ouest</nom_client>
    voici le rendu de mon problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Array ( [0] => backup [1] => client [2] => backup_client )
    Array ( [0] => backup [1] => client [2] => backup_client [3] => nom_client )
    Lafarge B
    étons Sud Ouest
    Array ( [0] => backup [1] => client [2] => backup_client )
    j'utilise le moteur SAX pour me permetre de parser mon fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sax = xml_parser_create('ISO-8859-1');
    	$xml = new affiche_titre();
    	xml_set_object($sax,$xml);
    	xml_parser_set_option($sax,XML_OPTION_CASE_FOLDING,FALSE);
    	xml_set_character_data_handler($sax,'noeud_texte');
    	xml_set_element_handler($sax,'baliseOuvrante','baliseFermante');
    	$fichier = file_get_contents('upload/'.$name_file);
    	xml_parse($sax,$fichier,"ISO-8859-1");
    les fonctions noeud_texte,baliseOuvrante,baliseFermante servent juste à récuperer les informations... mon gros problème c'est comment enlever se retourne à la ligne qui me pose des gros problème pour la génération de mes requête SQL...

  2. #2
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    ton fichier xml est bien encodé en ISO-8859-1?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    l'entete de ma page web est en ISO-8859-1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    et apres pour créer mon fichier XML j'utilise la fonction fwrite donc je suppose que j'encode mon fichier en ISO-8859-1...

    là j'ai changer de méthode pour créer mon fichier XML.
    je mes ton le code XML dans une variable et après je fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $doc = new DomDocument();
    	$doc->loadXML($texteXML);
    	$doc->save($fichierXML);
    	unset($doc);

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par crazydwarf
    l'entete de ma page web est en ISO-8859-1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    et apres pour créer mon fichier XML j'utilise la fonction fwrite donc je suppose que j'encode mon fichier en ISO-8859-1...

    là j'ai changer de méthode pour créer mon fichier XML.
    je mes tout le code XML dans une variable et après je fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $doc = new DomDocument();
    	$doc->loadXML($texteXML);
    	$doc->save($fichierXML);
    	unset($doc);

Discussions similaires

  1. Problème d'accents lors du portage d'une appli
    Par manudwarf dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 26/05/2009, 10h42
  2. [MySQL] Problème d'accent lors de la récupération d'infos
    Par 2rock dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/05/2009, 19h08
  3. [HTML] problème d'accent lors de l'affichage
    Par teac2006 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/06/2008, 18h06
  4. Problême d'accent lors de la création d'un fichier txt
    Par maxmarie dans le forum Windows Mobile
    Réponses: 15
    Dernier message: 24/08/2007, 22h59
  5. Problème d'accent lors d'une requête
    Par escape dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/12/2006, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo