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

Apache Discussion :

Problème de charset avec le mod_proxy_html


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Par défaut Problème de charset avec le mod_proxy_html
    Bonjour,

    Je vous soumet un problème que voici:
    J'ai un reverse proxy avec apache 2.0 avec le mod_proxy_html 2.5.1 qui me retourne systematiquement des page en utf8 dans le Header HTTP. D'après la doc ca serait normal. Mes page sont toutes avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    Alors, pour les requete GET, mes pages semblent s'afficher correctement.
    Par contre pour les POST, c'est pas le cas..

    J'ai essayé de faire le POST directement sur mon serveur J2EE, et pas pas de problème.

    Enfin, j'ai capturé les trame réseau et là bizarrement, mes données sont envoyées (toujours en POST) avec un encodage différent selon que je POST sur le reverse proxy ou directement sur le serveur J2EE????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Vers le reverse-proxy:  question1=%C3%A9&response1=
    Vers le serveur J2EE: question1=%E9&response1=

    Je ne comprend vraiment pas ce dernier test. Pourquoi mes données sont envoyé avec un encodage différent alors que j'utilise le même browser et le même formulaire dans mes test???

    Y a t-il quelqu'un qui a réussit à faire fonctionner correctement le mod proxy_html avec ISO-8859-1?

    Au fait, j'ai un Gentoo, Athlon 64 et la version 3 du mod_proxy_html n'est pas disponible

    J'espère que vous pourrez m'aider!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Par défaut
    Si je positionne l'attribut accept-charset sur mon formulaire, c'a marche mieux sur firefox mais pas IE: mes caractères sont correctement encodés lors du POST

    Sur Firefox, cela génère l'entête ACCEPT-CHARSET dans la requete HTTP, pas sur IE...

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Tes trames, tu les as "sniffées" entre quoi et quoi quand tu es passé par le proxy ? Entre le client et le proxy ou entre le proxy et le serveur ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Par défaut
    Je sniffe à la sortie de mon poste. Quand je veux tester directement avec mon serveur j2EE, je modifie mon /etc/hosts et je garde la meme URL

    donc pour mes deux tests, c'est entre mon poste et le proxy (test1) et entre mon poste et le serveur (teste2)

    Je precise que j'ai sniffé entre le proxy et le serveur. Les données recues par le serveur sont mal encodées car c'est mon poste qui les envoie incorrectement.
    Et puis, ma response Header Content-Type est positionné correctement à ISO-8859-1 à la sortie de mon serveur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Content-Type: text/html;charset=ISO-8859-1
    C'est le mod_proxy_html qui le modufie en UTF-8 en sortie du reverse proxy.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Content-Type: text/html;charset=utf-8
    En fait je pense que pour un POST, mon browser utilise le charset indiqué que le header de la réponse qui a généré le formulaire.
    Donc quand je passe par le RV-Proxy, mon header est toujours en UTF-8 alors qu'il est en ISO-8859-1 quand je vais directement sur le serveur.

    Je sais toujours pas pourquoi mon IE (v6) ne veut pas positionner l'entete ACCEPT-CHARSET dans mes requetes. Cela aurait pu etre une solution de contournement...

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par tipou75 Voir le message
    En fait je pense que pour un POST, mon browser utilise le charset indiqué que le header de la réponse qui a généré le formulaire.
    Ca, c'est normal, le client poste dans le charset dans lequel il a reçu la réponse. Avec mod_proxy_html, la balise <meta http-equiv="Content-Type"> vaut quoi ?

    Le moyen le plus sûr de corriger le pb serait de passer tout ton site en UTF-8, mais je ne sais pas quelle quantité de travail ça demande

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Par défaut
    Tout en UTF-8? je comprend pas et mes accens?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    la balise <meta http-equiv="Content-Type"> vaut quoi ?
    Il vaut ISO-8859-1 dans tout les cas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    Le proxy_html ne modifie pas cette valeur.
    Par contre, il modifie le header Content-Type de la réponse et c'est bien la le problème. La version 2.5.x ne supporte que le utf-8.

    Y a t-il un moyen avec le mode rewrite de modifier le header de la réponse?

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

Discussions similaires

  1. Problème de charset avec un include
    Par mims1664 dans le forum Langage
    Réponses: 3
    Dernier message: 17/11/2009, 23h20
  2. Problème de charset avec traduction Google
    Par Booster2ooo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/02/2009, 23h10
  3. Problème de charset avec un script ASP
    Par torobravo dans le forum ASP
    Réponses: 6
    Dernier message: 10/01/2008, 19h30
  4. Réponses: 7
    Dernier message: 26/04/2007, 13h21
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 10h18

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