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 :

Convertir une chaine UTF-8 en ISO-8859-1


Sujet :

Java

  1. #1
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 85
    Points
    85
    Par défaut Convertir une chaine UTF-8 en ISO-8859-1
    Bonjour à tous,


    j'essaie vainement depuis 2h de convertir une String en UTF-8 en ISO-8859-1.

    Par exemple, j'ai une chaine :
    "Assemblée" et je voudrais obtenir "Assemblée"

    J'ai tenté ce qui suis, sans succès (j'obtiens exactement la même chose):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(utf8File),"UTF-8"));
     
    String utf8String = null;
    while((utf8String = reader.readLine())!=null){
      String isoString +=  new String(utf8String.getBytes("ISO-8859-1"));
       [...]
    }
    reader.close();
    Avez-vous une solution à me proposer ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Bonjour Gargantua,

    Ton problème n'est pas un souci de UTF-8 comme tu pourrais le penser.

    "é" de "Assemblée" est une entité XML définie dans (X)HTML. Elle n'a aucune relation avec UTF-8.

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 627
    Points : 15 788
    Points
    15 788
    Par défaut
    Pour lire de l'UTF-8, ton code est bon même si le new String(utf8String.getBytes("ISO-8859-1") est inutile

    Par contre si ça ne marche pas pour la bonne raison que "Assemblée" n'est par de l'UTF8. mais de l'HTML/XML.

  4. #4
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 85
    Points
    85
    Par défaut
    Arf, ok.
    Ma faute.

    Justement, j'essaie de faire cette conversion à la suite d'une conversion XML-->XHTML , que je le voulais en ISO-8859-1
    Je pensais qu'il y avait un problème. (je ne connaissais pas ces subtilités) mais en fait ça respecte bien l'ISO-8859-1 ??


    Merci pour la réactivité.

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    L'encodage des caractères accentués en (X)HTML est justement fait pour éviter les problèmes de conversion d'encodage :
    "é" est encodé de la même façon en UTF-8 et en ISO-8859-1 (contrairement au caractère 'é').

    Donc pour répondre à ta question, oui, ton texte n'a aucun problème d'encodage par rapport à la norme ISO-8859-1.

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

Discussions similaires

  1. Convertir une chaine ISO vers GSM7
    Par guilllet dans le forum Langage
    Réponses: 1
    Dernier message: 08/05/2010, 22h47
  2. Convertir xml utf-8 en ISO 8859-1
    Par riadh2406 dans le forum ASP
    Réponses: 1
    Dernier message: 16/12/2009, 11h56
  3. Encoder une exception UTF-8 en ISO-8859-1
    Par Brunettia dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 10/06/2008, 12h36
  4. [.NET 2.0] Convertir une chaine utf-8 en Ascii
    Par abelman dans le forum Framework .NET
    Réponses: 2
    Dernier message: 30/04/2007, 21h47
  5. Convertir une chaine UTF8 en ISO-8859-1
    Par eods dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 26/08/2004, 17h57

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