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 :

Conversion du caractère & en UTF-8 ?


Sujet :

Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 20
    Points : 17
    Points
    17
    Par défaut Conversion du caractère & en UTF-8 ?
    Bonjour,

    j'ai une application qui récupère des informations en base de donnée puis génère un document XML.
    j'applique un getBytes("UTF-8"), "UTF-8") sur les valeurs au moment de construire le xml.

    Mon souci porte sur une chaine qui contient "B&B"

    Le caractère & n'est pas converti et du coup j'ai ensuite une erreur lors du traitement de ce xml.
    org.jdom.input.JDOMParseException: Error on line 5: The reference to entity "L" must end with the ';' delimiter.
    Si j'ai des accents , ils sont bien convertis.

    Merci d'avance pour votre aide.

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Tu confonds l'encoding avec les entités xml ...
    & est un caractère UTF-8 parfaitement valide, mais n'est pas un caractère valide au niveau xml et doit être transformé en &
    Pour rappel, seuls les entités pour ' " & > < sont obligatoires.
    Il faut que tu escape ces caractères toi même indépendamment de ton encoding si tu générès du xml par concaténation.
    Donc une petite fonction standard de
    " -> &quot;
    ' -> &apo; (la norme donne celle là obligatoire mais c'est rarement respecté)
    > -> &gt;
    < -> &lt;
    & -> &amp;

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    C'est bien ce que je craignais.

    Merci pour ton aide

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    o = StringEscapeUtils.escapeHtml(o);

    ca devrait t'aider pas mal je pense...

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 778
    Points
    5 778
    Par défaut
    Citation Envoyé par Attila50
    o = StringEscapeUtils.escapeHtml(o);

    ca devrait t'aider pas mal je pense...
    Je ne sais pas d'où tu sort la classe StringEscapeUtils, mais sûrement pas de l'API standard.

  6. #6
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Effectivement cette classe est jakarta, non standard ...

Discussions similaires

  1. conversion de caractéres
    Par longjohn dans le forum Général Python
    Réponses: 3
    Dernier message: 27/08/2005, 17h03
  2. [VB.NET] Conversion de caractères
    Par WriteLN dans le forum Windows Forms
    Réponses: 8
    Dernier message: 17/03/2005, 09h45
  3. [DOS] batch et conversion de caractères
    Par lujayne dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 14/12/2004, 17h05
  4. [DB2][Access]Conversion de caractères
    Par BAYRAL dans le forum DB2
    Réponses: 2
    Dernier message: 12/10/2004, 11h00
  5. Conversion et re-conversion des caractères reservé à MySQL
    Par Didier100 dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/06/2004, 15h23

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