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

Bibliothèques et frameworks PHP Discussion :

[DOM XML] Jeu de caractères


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif
    Avatar de dam_moreyllo
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 251
    Points : 227
    Points
    227
    Par défaut [DOM XML] Jeu de caractères
    Bonjour !
    J'ai une petite fonction qui permet de generer une requete sql a partir d'un fichier xml. ce fichier utilise le jeu de caractères ISO-8859-1. les accents et tout sont bien représentés dedans.
    Mon problème, c'est que quand je lie le fichier avec DOM XML, même si c'est que pour afficher directement sur la page (donc sans passer par mysql), les accents et autres sont convertis en caractères bizarres du style é !

    Ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
    function xml2mysql_attribute($fichier, $table, $tab) {
       if(!$dom = domxml_open_file($fichier)) {
           echo "Erreur lors de l'analyse du document\n";
           return;
       }
       $root = $dom->document_element();
       $child = $root->first_child();
     
       // Construction de la requete :
     
       $rqt = "INSERT INTO ".$table." (";
       foreach($tab as $valeur) {
             $rqt .= strtoupper($valeur).", ";
       }
       $rqt = substr($rqt, 0, strrpos($rqt, ", ")).") VALUES ('";
     
       $nb_reponse = 0;
       while($child) {
            if ($child->node_type() != XML_TEXT_NODE) {
                 foreach ($tab as $valeur) {
                      $rqt .= mysql_real_escape_string($child->get_attribute($valeur))."', '";
                 }
                 $rqt = substr($rqt, 0, strrpos($rqt, ", '"))."), ('";
                 $nb_reponse++;
            }
            $child = $child->next_sibling();
       }
       return array(substr($rqt, 0, strrpos($rqt, ", ('")), $nb_reponse);
    }
    ?>
    Avez-vous une idée pour résoudre ce problème ?
    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    salut
    regarde du cote de utf8_encode

  3. #3
    Membre actif
    Avatar de dam_moreyllo
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 251
    Points : 227
    Points
    227
    Par défaut
    Bonjour,

    J'avais déjà essayé mais ça ne marche pas...
    Et si dans le fichier xml je change le encoding="ISO-8859-1" en encoding="UTF-8" ou encore que j'enlève carrement l'encoding, ça plante à la lecture du fichier, dans la fonction domxml_open_file...
    Au fait j'ai oublié de préciser que je suis obligé de faire en php4 , sinon je me ferai un grand plaisir à utiliser simplexml...

  4. #4
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Question bête. Tu as déclaré le jeu de caractères mais le fichier est-il sauvegardé en utilisant ce même jeu de caractères? Genre tu déclares en ISO-8859-1 mais ton fichier est sauvegardé en UTF-8.

    Je l'ai dit, question bête.
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  5. #5
    Membre actif
    Avatar de dam_moreyllo
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 251
    Points : 227
    Points
    227
    Par défaut
    Ben c'est vrai que le problème viens peut être de là, mais je ne peux pas savoir parce que ce fichier XML est généré par un logiciel utilisé par notre client... et apparement ce logiciel n'est pas très configurable... mais encore une fois je peux pas savoir parce que moi je le connais pas ce logiciel, et vu que pour l'instant la personne la plus susceptible de le savoir n'est pas la... ben j'essai de trouver des alternatives !
    Mais apparement c'est mal barré...
    Merci quand même a vous !

Discussions similaires

  1. [SSE] Initialiser un DOM XML à partir d'une chaine de caractères ?
    Par nd786mar1 dans le forum Eclipse Platform
    Réponses: 5
    Dernier message: 16/12/2010, 17h02
  2. [DOM XML] Lecture du contenu XML dans une chaine de caractères
    Par diakite4 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 21/05/2008, 20h48
  3. [DOM XML] Affichage caractère spéciaux au lieu de balises
    Par imene12 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 20/05/2008, 14h58
  4. [SQL2K]URGENT: récupérer jeu de caractères et ordre de tri ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/04/2005, 11h43
  5. Jeu de caractères
    Par webshell dans le forum Installation
    Réponses: 2
    Dernier message: 23/05/2004, 09h38

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