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 :

encodage au moment du POST


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 214
    Par défaut encodage au moment du POST
    Bonjour,
    j'utilise XMLHTTPRequest pour mettre à jour certaines variables PHP.
    Dans ma fonction javascript, je crée la variable qui va contenir toutes les valeurs, puis j eposte tout ça.
    Mon problème est que les valeurs arrivent sur l'autre page encodées en utf8-8.
    J'ai lu quelquepart que c'est le comportement normal et qu'il faut préciser dans le header quel encodage on veut utiliser.
    Bien entendu, lorsque je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    objetXHR.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    objetXHR.setRequestHeader("Content-Type", "text/xml; charset=iso-8859-1");
    Ca ne marche pas.

    Je ne sais pas d'où vient l'erreur. Lorsque je balance des alert(), je me rends compte que mes variables postées sont vides, alors que ça marche si j'enlève la ligne sur l'encodage.


    PS : à l'attention des administrateurs. J'ai posté le même message hier soir. J'ai bien vérifié, il était là. Aujourd'hui, il n'y est plus.
    Que s'est-il passé ?

  2. #2
    Expert confirmé

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut Re: encodage au moment du POST
    Citation Envoyé par jibouze
    Ca ne marche pas.
    Tu ne peux envoyer qu'un seul header, et là, en l'occurence, tu as besoin du premier, donc tu ne peux pas envoyer le deuxième.
    Le décodage UTF-8 -> ISO doit se faire coté serveur, en PHP avec la fonction utf8_decode....

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 214
    Par défaut
    Aaargh !
    Mais c'est horrible !
    Est-ce que je peux être absolument sûr que les variables seront toujours envoyées en utf-8 ?
    Si je décode en utf-8 côté serveur, je ne risque pas de décoder de l'iso ?
    En tous cas, ça me rassûre, je pensais être un gros nul incapable d'écrire 2 lignes de js, en pompant des tutos.

  4. #4
    Expert confirmé

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par jibouze
    Est-ce que je peux être absolument sûr que les variables seront toujours envoyées en utf-8 ?
    Si tu fais tout ton site en utf-8, oui c'est sur

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 214
    Par défaut
    Ben justement c'est là mon problème.
    J'ai mis du iso partout. C'est d'ailleurs pour ça que j'étais un peu surpris de voir les accents transformés en autre chose dans cette page là.
    Ma base de données est en iso, j'ai des meta charset iso un peu partout.
    Donc je comprends pas pourquoi dans ce cas de figure précis, c'est en utf-8.
    Et surtout comment changer l'encodage par défaut.

  6. #6
    Expert confirmé

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par jibouze
    Et surtout comment changer l'encodage par défaut.
    XmlHttpRequest fonctionne en UTF-8, et j'avoue que je n'ai aucune idée de comment le faire passer dans un autre charset....

    Normalement, XHR n'attaque qu'un petit nombre de pages, tu peux pas mettre les filtres uniquement sur ces pages?

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 79
    Par défaut
    j'ai deja eu ce probléme,

    et denisC a raison.

    coté serveur :

    header('Content-Type: text/xml; charset=iso-8859-1');

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 214
    Par défaut
    bon d'accord.
    Merci à tous les deux !

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

Discussions similaires

  1. Encodage pour envoi par POST
    Par Sylvercis dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/06/2014, 23h00
  2. Encodage des requêtes POST
    Par Herode dans le forum jQuery
    Réponses: 10
    Dernier message: 09/09/2009, 15h49
  3. Problème d'encodage du point dans une requête POST
    Par ultraboa dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 07/02/2009, 21h58
  4. Problème encodage des données POST lues
    Par cheprod dans le forum Apache
    Réponses: 2
    Dernier message: 12/11/2007, 09h59
  5. encodage des données lors du post en AJAX
    Par jibouze dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 19/04/2006, 21h26

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