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 :

[unescape caracter] How to..


Sujet :

Langage Java

  1. #1
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut [unescape caracter] How to..
    Hello,

    Je récupère depuis ma DB une chaine de caractère encodée (par exemple %u756A%u53F7%u307E). Comment à nouveau l'afficher dans ma page web sous sa forme décodé (directement en java, sans faire appel à la fonction javascript decode(String)) ? J'affiche une liste par iteration dont chaque valeur est <c:out value="${list.jp}"/>", mais qui donc actuellement affiche la valeur encodée.

    Merci

  2. #2
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Je crois que tu as una API de chez Jakarta qui fait ça :

    http://jakarta.apache.org/commons/la...ase/index.html

    StringEscapeUtils.

  3. #3
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut
    StringEscapeUtils() remplace uniquement les caractères escape type "\ etc

  4. #4
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966

  5. #5
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut
    StringEscapeUtils.unescapeJavaScript("%u756A%u53F7") => %u756A%u53F7

  6. #6
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,


    Ca devrait te donner quoi comme caractère ???? "\u756A\u53F7\u307E" m'affiche "???" chez moi. C'est normal ou cela doit donner autre chose ?

    a++

  7. #7
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut
    Le unescape en javascript me donne le bon caractère japonais 番号また.

  8. #8
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par rgomes
    Le unescape en javascript me donne le bon caractère japonais 番号また.
    Ok c'est du Japonais c'est pour cela que je ne pouvais pas le voir correctement



    Dans ce cas ceci devrait fonctionner :
    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 escape(String original) {
            // On recherche les caractères encodé %u**** :
            Pattern p = Pattern.compile("%u([0-9A-Fa-f]{4})");
            Matcher m = p.matcher(original);
     
            // Si on trouve au moins une chaine correspondante :
            if (m.find()) {
                // On utilise un Buffer pour la création de la chaine
                StringBuffer buffer = new StringBuffer();
                do {
                    // On récupère le numéro du caractère qu'on convertie en int puis char
                    char c = (char) Integer.parseInt( m.group(1) , 16 );
                    // Et on effectue le remplacement
                    m.appendReplacement(buffer, Character.toString(c) );
                } while (m.find()); // Pour toutes les chaines trouvées
                // On complète avec la fin de la chaine :
                m.appendTail(buffer);
                // Et on retourne la chaine ainsi créer
                return buffer.toString();
            }
            // Sinon aucune modification :
            return original;
        }
    a++

  9. #9
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut
    Good mister ! Merci pour ton support.

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

Discussions similaires

  1. [css] first caracter ...
    Par SpaceFrog dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 12/07/2005, 15h54
  2. Réponses: 10
    Dernier message: 22/05/2004, 14h51
  3. Réponses: 3
    Dernier message: 28/10/2003, 15h26

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