Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème d'accent lors de l'exploitation d'un xml

    8 juillet 2010 à 15:31:14

    Bonjour.
    Je suis confronté à un petit problème depuis plusieurs heures.
    Pour faire simple, lorsque je clique sur le nom d'une formation, ses informations sont appelées en ajax. Le fichier php génère un xml et donc mon javascript doit l'analyser.

    J'ai donc deux formations. "Word avancé" et "Word avance". J'ai testé avec beaucoup d'autres, seule celle qui a un accent est défaillante.

    J'ai une erreur de ce type via firebug : "racine.item(0) is null
    http://localhost/formation/public/js/scripte.js
    Line 59".

    Cela n'arrive même pas au niveau du nom avec un accent, mais bien avant, sur l'id. Je ne sais trop comment résoudre cela. Je vous montre la réponse POST et le code JS.
    <catalogue id="10">
            <nom>word avanc&eacute;</nom>
            <lien></lien>
            <lieu>Dijon</lieu>
        </catalogue>
    


    var xhr=getXhr();
        xhr.onreadystatechange = function()
        {
            if(xhr.readyState == 4 && xhr.status == 200)
            {
                var doc = xhr.responseXML;
                var racine = doc.getElementsByTagName('catalogue');
                var id = racine.item(0).attributes.getNamedItem('id').value;
                var name = racine.item(0).getElementsByTagName('nom')[0].firstChild.data;
                
                var lieu = racine.item(0).getElementsByTagName('lieu')[0].firstChild.data;
    
    
                var div = document.createElement('div');
                div.id = 'bloc_formation';
                var br = document.createElement('br');
                var p = document.createElement('p');
    
                var nom = document.createTextNode('Intitulé de la formation : ' + name);
                var lieuFormation = document.createTextNode('Lieu de la formation : ' + lieu);
                var lien = document.createElement('a');
                lien.href = './index.php?module=activation&formation=' + id;
                lien.appendChild(document.createTextNode('Initialiser une formation'));
    



    VOila je remercie déjà ceux qui prendront la peine de m'aider.
    • Partager sur Facebook
    • Partager sur Twitter
      9 juillet 2010 à 13:48:05

      Premièrement, quels sont les différents encodages des fichiers?
      Le fichier appelé en ajax doit impérativement être en utf8.

      Ensuite pourquoi s'embêter avec du xml, alors que le json est prêt à l'emploi une fois récupéré?
      en php il existe json_encode() qui est très utile (attention n'accepte que des données utf8).
      • Partager sur Facebook
      • Partager sur Twitter
        9 juillet 2010 à 19:06:56

        Mon fichier appelé en ajax a un header utf-8 donc normalement pas de problèmes à ce niveau là.
        Je vais essayer de voir du côté de JSon, sinon si quelqu'un a une idée d'où provient le problème cela m'éviterait de refaire mes fonctions.
        • Partager sur Facebook
        • Partager sur Twitter

        Problème d'accent lors de l'exploitation d'un xml

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown