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

Java Discussion :

Encodage caractere speciaux


Sujet :

Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2006
    Messages : 226
    Par défaut Encodage caractere speciaux
    Bonjour,

    voila j'ai fait un petit dev qui utilise du java et de l'ajax. je vais chercher das valeurs dans ma base de données et je rafraichi automatiquement des liste (select) dans ma page web.

    ça fonctionne presque parfaitement. Le seul soucis que je rencontre c'est que dans ma base j'ai des valeurs contenant le caractere "&". et quand mon script en ajax reçoit ça, bah il aime pas.

    j'ai essayé d'utiliser ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URLEncoder.encode(test, "ISO-8859-1")
    ça fonctionne, sauf qu'il me remplace aussi les espaces par des "+" et quand en javascript j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    decodeURIComponent(value)
    et bah il m'affiche presque la bonne valeur mais avec des "+" en guise d'espace.

    exemple:

    ma valeur : blabla. & test
    java le transforme en : <value>blabla.+%26+test</value>
    et mon javascript m'affiche : blabla.+&+test

    Alors ma question est : est-ce qu'il y a quelquechose qui fait la meme chose que "URLEncoder.encode" mais sans remplacer les blancs ?

    merci d'avance.

  2. #2
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu utilise les mauvaise méthode. Comme la réponse c'est du xml, suffit de renvoyer du xml formatté correctement. En l'occurence ce devrait être:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <value>blabla. &amp; test</value>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <value><![CDATA[blabla. & test]]></value>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <value>blabla. & test</value>
    Faudrait voir le code java qui génère ta réponse ajax

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2006
    Messages : 226
    Par défaut
    oki merci.

    mon code java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    xml.append("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");
     
    ...
     
    xml.append("<name>");
    xml.append("test");
    xml.append("</name>\n");
    xml.append("<value>");
    xml.append(URLEncoder.encode(myValue, "ISO-8859-1"));
    xml.append("</value>\n");
    ...
    donc si j'englobe myValue dans la chaine "<![CDATA[...]]>" ça devrait fonctionner ? j'essaye ça de suite .

    [edit] super ça marche !! merci

  4. #4
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par kakashi99 Voir le message
    donc si j'englobe myValue dans la chaine "<![CDATA[...]]>" ça devrait fonctionner ?
    C'est une facon bourrin et approximative de le faire, ca marchera tant que myValue ne contiendra pas la chaine "]]". En pratique, peut etre utiliser de vrais outils prévus pour générer de l'xml serait plus sur

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

Discussions similaires

  1. [MySQL] Mauvais encodage (probleme de caractere speciaux)
    Par tortue_22 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 06/05/2009, 15h17
  2. [Encodage] codage des caractères spéciaux
    Par soulhouf dans le forum Général Java
    Réponses: 11
    Dernier message: 24/08/2005, 12h07
  3. [Débutant][String] Remplacez les caractères speciaux
    Par paf15 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 27/04/2004, 22h39
  4. [langage] Caractères spéciaux
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 28/11/2003, 10h39
  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