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

JavaScript Discussion :

xhr(ajax?) xml et encodage


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut xhr(ajax?) xml et encodage
    salut,

    j'ai du me mettre à xhr pour faire un système d'autocompletion.

    parmis les données qui vont se retrouvées dans la liste de completion il y a des accents.

    j'utilise pour le site du iso et comme d'habitude le xml doit etre encodé en utf-8, ça a donc posé quelques problèmes pour récupérer les données sur la page encodé en iso.

    à force de fouiller le web j'ai trouvé une solution mais du coup j'ai plus très bien compris la nécessité d'encoder un fichier xml en utf-8...et j'aimerais bien comprendre.

    -première méthode en utf-8:

    donc au départ j'envoi un header pour dire que ce qui va partir est du xml, sans préciser d'encodage(c'est du php):
    header("Content-type: application/xml");

    ensuite je converti toutes les entités html en utf8(j'ai pris l'habitude de ne pas stocker d'accent dans la base) pour pas faire planter le xml.

    je génère le fichier xml, je l'encode en utf-8 et je l'envois.

    donc là je me retrouve avec des problèmes sur ma page en iso.

    -deuxième méthode en iso:

    pour le header:
    header("Content-type: application/xml; charset=ISO-8859-15");

    cette fois je converti les entités en iso.

    puis je balance le code xml sans l'encoder en utf-8...et ça marche très bien.

    donc c'est là que je comprend plus.
    j'ai l'impression d'avoir encodé du xml en iso et tout marche bien, xhr s'en sert sans problème.

    si quelqu'un sait pourquoi ça marche, je l'écoute.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par SpaceFrog
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    le pb c'est que si je fait ça les données que je vais envoyer en post(classique cette fois) seront en utf-8, enfin je crois.

    si c'est le cas ça posera des problèmes.

    mais ça me dis pas pourquoi le fichier xml passe en iso

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut Re: xhr(ajax?) xml et encodage
    Citation Envoyé par tthierry
    si quelqu'un sait pourquoi ça marche, je l'écoute.
    Euh, j'avoue ne pas saisir ta question... Tu te demandes pourquoi ça marche ???

    Si ça marche, te poses pas de questions

    Sinon, pour te répondre quand même, il n'y aucune raison que ça ne marche pas. Par défaut (si tu ne précises rien), l'encodage d'un fichier XML se fait en UTF-8. Mais si tu fais autre chose, en encodant correctement ton fichier XML, et en précisant l'encodage dans l'entete de ton fichier (ce que tu fais), et ben ça marche très bien quand même

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par denisC
    Euh, j'avoue ne pas saisir ta question... Tu te demandes pourquoi ça marche ???

    Si ça marche, te poses pas de questions
    ok, ok

    le truc c'est que si je comprend pas pourquoi ça marche, demain il peut avoir un problème et je ne saurais pas pourquoi non plus si j'ai pas saisi toute la logique.

    Citation Envoyé par denisC
    Sinon, pour te répondre quand même, il n'y aucune raison que ça ne marche pas. Par défaut (si tu ne précises rien), l'encodage d'un fichier XML se fait en UTF-8. Mais si tu fais autre chose, en encodant correctement ton fichier XML, et en précisant l'encodage dans l'entete de ton fichier (ce que tu fais), et ben ça marche très bien quand même
    là j'ai pas tout compris.
    tu veux dire que du moment que tout les headers correspondent je pourrais encodé le fichier xml en n'importe quoi?
    qu' un header spécifiant que j'envois du xml implique de façon tacite un encodage en utf-8?

    sinon je revient sur ce que j'ai dit à cause d'ie(toujours testé en dernier).

    la deuxième méthode tout en iso marche avec ff,opéra et safari.

    pour ie(j'imagine son obet xhr) je suis obligé de laisser le header xml(header("Content-type: application/xml") ), de décoder les entités html en utf-8, mais pas besoin d'encoder la chaine xmlavnt de l'envoyer.
    au final cette méthode marche aussi, et les accents sont bien représentés sur ma page en iso.

    j'y comprend encore moins, et pour info apache est configuré par défaut pour envoyé en iso.

    une idée

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut Re: xhr(ajax?) xml et encodage
    Citation Envoyé par denisC
    Sinon, pour te répondre quand même, il n'y aucune raison que ça ne marche pas. Par défaut (si tu ne précises rien), l'encodage d'un fichier XML se fait en UTF-8. Mais si tu fais autre chose, en encodant correctement ton fichier XML, et en précisant l'encodage dans l'entete de ton fichier (ce que tu fais), et ben ça marche très bien quand même
    C'était bien ça, j'avais oublié spécifié l'encodage dans le flux xml.

    Si ça peut servir voila ce qu marche.

    header http:
    header('Content-type: text/html;');

    conversion des entitées html au format iso

    encodage du flux xml:
    <?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?>

    envoi du flux xml


    je précise que la méthode marche avec ie, ff, opéra, safari et konqueror.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] XML généré ok, responseXML.documentElement vide !
    Par LeCaméléon dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/12/2006, 09h53
  2. [AJAX] ajax XML
    Par shin_hermit dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/12/2006, 13h45
  3. [AJAX] xhr.response.XML has no property
    Par Khrysby dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/11/2006, 17h50
  4. [AJAX/XML/JAVA] Afficher un flux de données depuis un site web
    Par chodaboy34 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/10/2006, 16h38
  5. XML et encodage
    Par Mike_Dev dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 24/05/2006, 16h21

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