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

Struts 1 Java Discussion :

Unicode dans textarea


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    enculeur de mouches
    Inscrit en
    Novembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Antigua-Barbuda

    Informations professionnelles :
    Activité : enculeur de mouches

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3
    Par défaut Unicode dans textarea
    Bonjour,

    J'utilise Struts 1.3
    Toute mon application est passée en UTF-8 : filtre de servlet, configuration des jsp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    Tout cela fonctionne correctement et me permet d'afficher / saisir du texte Unicode ... SAUF pour le tag html:textarea.

    Celui-ci permet bien la saisie en UTF-8 : le texte est bien lu par la servlet et enregistré en base de données.
    En revanche l'affichage de texte UTF-8 dans le même textarea provoque un affichage erroné : caractères accentués remplacés par des points d'interrogation etc

    En utilisant un champ textarea en HTML pur, l'affichage est correct.

    Je crois que cela vient du fait que le tag textarea de Struts fait un "escape" des caractères HTML.

    Y a t-il un moyen d'empecher cela ?

    Merci d'avance !

  2. #2
    Futur Membre du Club
    Profil pro
    enculeur de mouches
    Inscrit en
    Novembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Antigua-Barbuda

    Informations professionnelles :
    Activité : enculeur de mouches

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3
    Par défaut
    Solution :
    _ remplacer le tag textarea Struts par un textarea html classique contenant un tag bean:write Struts.
    _ ajouter un bout de javascript pour recopier le contenu du textarea dans un html:hidden lors du submit, afin de pouvoir toujours enregistrer notre champ.


    Remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html:textarea property="property>
    </html:textarea>
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <script>
    function evtOnSubmit() {
      vrai_champ = window.document.getElementById("vrai_champ");	
      faux_champ = window.document.getElementById("faux_champ");
      vrai_champ.value = faux_champ.value;
    }
    </script>
     
    <html:hidden styleId="vrai_libelle" property="property" />
    <textarea id="faux_champ">
       <bean:write name="object" property="property"/>
    </textarea>

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

Discussions similaires

  1. Insertion dans textarea
    Par nicolb dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2005, 14h07
  2. ecriture unicode dans une mesagebox
    Par LRobi dans le forum C++
    Réponses: 1
    Dernier message: 23/02/2005, 17h23
  3. Problème alinéa dans textarea
    Par guitaros dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 23/12/2004, 00h07
  4. Comment insérer de l'unicode dans un Richedit ?
    Par DanaKil dans le forum C++Builder
    Réponses: 6
    Dernier message: 30/03/2004, 00h43
  5. Utilisation de l'unicode dans un algo de cryptage
    Par Zazeglu dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 28/10/2003, 14h38

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