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

Langage Java Discussion :

Caractere speciaux venu du html


Sujet :

Langage Java

  1. #1
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut Caractere speciaux venu du html
    Bonjour,

    Voila dans mon appli web j'utilise struts. J'ai donc des fichiers properties dans lesquels je declare des clés et valeurs.

    par exemple j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //€ représente le sigle euro € mais je dois le mettre comme ca pour le html
    mon.sigle.euro = €
    Le probleme est que lorsque je recupere ce String en java, je ne sais pas comment le convertir en sigle € et non pas le code.

    Si quelqu'un pouvait me donner une piste je suis preneur car la je n'ai pas d'idée.

    Merci
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  2. #2
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    au pire si c'est que dans l'html tu peux mettre €
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

  3. #3
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Zut de flut, pas possible de comprendre avec ce que j'ai ecrit les caracteres spéciaux ont été converti.

    Donc je disais dans mon fichier propoerties j'ai :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //€ représente le sigle euro € mais je dois le mettre comme ca pour le html
    mon.sigle.euro = & #8364;
    J'ai mis un espace sur le forum entre & et le reste pour ne pas qu'il apparaisse avec le sigle euro et donc que vous compreniez.

    Donc mon pb est que dans java j'ai '& #8364'; dans mon String au lieu de '€'. Y-a-t-il une classe pour le faire?
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  4. #4
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Utilise org.apache.commons.lang.StringEscapeUtils.escapeHtml et org.apache.commons.lang.StringEscapeUtils.unescapeHtml

  5. #5
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Citation Envoyé par billynirvana
    Utilise org.apache.commons.lang.StringEscapeUtils.escapeHtml et org.apache.commons.lang.StringEscapeUtils.unescapeHtml
    A part ces librairies ce n'est pas possible sans? (Sans avoir a tout recoder :-) ).
    En standart ou avec struts, impossible de s'en sortir? Car il faudrait que j' y arrive sans rajouter de librairie exterieur a celle dont je dispose.
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par maxf1
    A part ces librairies ce n'est pas possible sans? (Sans avoir a tout recoder :-) ).
    Si tu veux faire seulement la conversion dans le sens #&xxxx; caractère c'est très simple avec les regexp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    	public static String unencode(String input) {
    		// On recherche tous les &#xxxx;
    		Pattern pattern = Pattern.compile("&#([0-9]{1,4});");
    		Matcher matcher = pattern.matcher(input);
     
    		if (matcher.find()) {
    			// S'il y en a au moins un, on utilise une StringBuffer
    			// pour construire la nouvelle chaine :
    			StringBuffer sb = new StringBuffer(input.length());
    			do {
    				// On récupère la valeur entière du &#xxxx;
    				// (qui correspond à la valeur unicode du caractère) :
    				char c = (char) Integer.parseInt(matcher.group(1));
    				// Et on effectue le remplacement :
    				matcher.appendReplacement(sb, Character.toString(c));
    			} while (matcher.find());
    			// Pour finir on ajoute la fin de la chaine :
    			matcher.appendTail(sb);
    			return sb.toString();
    		}
    		// Sinon on retourne la chaine tel quel :
    		return input;
    	}
    Maintenant si tu veux le faire dans le sens inverse c'est peut-être un peu plus dur... Quoi qu'il doit surement y avoir une valeur unicode au dessus de laquelle il faut transformer le caractère en &#xxxx;...


    Enfin si tu veux gérer les &libelle; c'est un peu plus complexe (il faut avoir la liste des libellés et le caractère associé...

    a++

  7. #7
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Ta solution est parfaite.
    Merci bien!!!!!!!!


    Citation Envoyé par adiGuba
    Si tu veux faire seulement la conversion dans le sens #&xxxx; caractère c'est très simple avec les regexp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    	public static String unencode(String input) {
    		// On recherche tous les &#xxxx;
    		Pattern pattern = Pattern.compile("&#([0-9]{1,4});");
    		Matcher matcher = pattern.matcher(input);
     
    		if (matcher.find()) {
    			// S'il y en a au moins un, on utilise une StringBuffer
    			// pour construire la nouvelle chaine :
    			StringBuffer sb = new StringBuffer(input.length());
    			do {
    				// On récupère la valeur entière du &#xxxx;
    				// (qui correspond à la valeur unicode du caractère) :
    				char c = (char) Integer.parseInt(matcher.group(1));
    				// Et on effectue le remplacement :
    				matcher.appendReplacement(sb, Character.toString(c));
    			} while (matcher.find());
    			// Pour finir on ajoute la fin de la chaine :
    			matcher.appendTail(sb);
    			return sb.toString();
    		}
    		// Sinon on retourne la chaine tel quel :
    		return input;
    	}
    Maintenant si tu veux le faire dans le sens inverse c'est peut-être un peu plus dur... Quoi qu'il doit surement y avoir une valeur unicode au dessus de laquelle il faut transformer le caractère en &#xxxx;...


    Enfin si tu veux gérer les &libelle; c'est un peu plus complexe (il faut avoir la liste des libellés et le caractère associé...

    a++
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

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

Discussions similaires

  1. Html entities : accent et caracteres speciaux
    Par aiphes dans le forum Eclipse
    Réponses: 0
    Dernier message: 18/11/2008, 09h56
  2. [HTML] Les Caracteres speciaux
    Par Ubum dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 03/04/2008, 10h28
  3. [HTML] caracteres speciaux mal interprété
    Par xclam dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 24/05/2007, 17h47
  4. Caracteres speciaux==>Code html
    Par el_bassir dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 28/09/2006, 14h05
  5. insertion caracteres speciaux html
    Par arcane dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/09/2003, 14h16

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