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

Servlets/JSP Java Discussion :

Que mettre dans Request.setCharacterEncoding( ? )


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 85
    Points : 55
    Points
    55
    Par défaut Que mettre dans Request.setCharacterEncoding( ? )
    Bonsoir tt le monde,

    je croyais savoir comment utiliser l'encodage des requêtes mais finalement je ne comprends plus rien !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    response.setCharacterEncoding("UTF-8");
    ou ?
    response.setCharacterEncoding("ISO-8859-1");
    ou ?
    request.setCharacterEncoding("ISO-8859-1");
    ou ?
    request.setCharacterEncoding("UTF-8");
    je veux tt simplement que ma servlet comprenne les lettres du français et les renvoyer !

    Merci pour toute explication

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2007
    Messages : 103
    Points : 66
    Points
    66
    Par défaut
    Salut,

    Tous dépend de l'encodage de ta requête HTTP.

    request.setCharacterEncoding(...)
    Permet de surcharger l'encodage de la requête afin de lui indiquer avec quel codage lire la requête. C'est celle que tu dois utiliser.

    Par contre tu dois faire appel à cette méthode avant de rechercher des paramètres dans la requête.

    Si tu utilises par exemple Struts le meilleur moyen est de créer un filtre...

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    en gros tu dois faire un request.setCharacterEncoding avec la valeur présente dans le "acceptCharset" de ton formulaire. Qui doit aussi de préférence etre la meme que l'encodage de la page pour éviter de faire douter les navigateurs.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 85
    Points : 55
    Points
    55
    Par défaut
    ok merci pour les réponses mais concrètement je fais comment ? j'envoie une requête AJAX qui prend la valeur d'un input et qui envoi le mot "répértoire" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    répértoire
    Accept-Charset	: ISO-8859-1 (firebug)
    dans ma Servlet je met
    req.setCharacterEncoding("ISO-8859-1");
    avant de lire le paramètre mais j'obtiens :
    comment faire alors pour recevoir mon "répértoire" ?

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    dans ta requete ajax tu dois prendre le meme encodage que celui qui sera utilisé au décodage. C'est une convention à prendre dans ton application. Il me semble que l'objet XmlHttpRequest peut prendre un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setRequestHeader("Content-Type: text/xml;charset=utf-8")
    par exemple. Pour ce qui est du comportement par défaut, faut chercher, je le connais pas.

  6. #6
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    Tu peux aussi utilisé un charSetFilter que tu configures via le web.xml ce qui t'évites de ré encodé un peu partout dans tes pages et ainsi éviter des oublies

    regarde ce post cela devrait t'aider je l'espère :p

    http://www.developpez.net/forums/m3006842-32/

Discussions similaires

  1. [OLAP] Que mettre dans une table d'agrégats ?
    Par marchand_de_sable dans le forum Approche théorique du décisionnel
    Réponses: 77
    Dernier message: 14/10/2016, 22h25
  2. Que mettre dans le noyau d'un moteur de jeu ?
    Par Kromagg dans le forum Développement 2D, 3D et Jeux
    Réponses: 19
    Dernier message: 05/10/2008, 15h46
  3. que mettre dans DeFAUKT CHARSET
    Par saluts92 dans le forum Requêtes
    Réponses: 9
    Dernier message: 23/01/2007, 14h13
  4. Que mettre dans un champ DATETIME pour certains cas?
    Par Jim_Nastiq dans le forum Requêtes
    Réponses: 5
    Dernier message: 04/07/2006, 10h22
  5. Réponses: 8
    Dernier message: 26/08/2004, 18h59

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