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

avec Java Discussion :

Problème de récupération de flux UTF-8


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 200
    Points : 66
    Points
    66
    Par défaut Problème de récupération de flux UTF-8
    Bonjour la team,

    après quelque recherche, je ne trouve pas de solution, peut être que vous pourrez m'aider.
    Je vous explique : j'ai un texte en String qu'il me faut convertir en flux d'octets (= inputStream) et le tout formatter en UTF8.

    Pour faire cela, le code utilisé est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      public InputStream getContent() throws IOException {
        return new ByteArrayInputStream(content.getBytes("UTF-8"));
      }
    Le problème vient du flux récupéré qui ne contient pas l'ensemble du texte de départ qui est du html :

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <i>(Données actualisées pour la dernière fois le 28 Mai 2014 à 17:9:36)</i></body></html>

    Au lieu de récupéré ce texte, je récupère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <i>(Données actualisées pour la dernière fois le 28 Mai 2014 à 17:9:36)</i></body></h
    En supprimant l'encodage en UTF-8, j'ai bien tout le texte, mais les accents sont remplacés par des caractères bizarres...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      public InputStream getContent() throws IOException {
        return new ByteArrayInputStream(content.getBytes());
      }
    Avez-vous une idée du problème ?

    Berni.

  2. #2
    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
    Salut,



    Et comment tu lis l'InputStream ???


    a++

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 200
    Points : 66
    Points
    66
    Par défaut
    L'inputStream est lu en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    inputStream = new BufferedInputStream(
                  ((IResource) resource).getContent());

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public InputStream getContent() throws IOException {
        return new ByteArrayInputStream(content.getBytes("UTF-8"));
      }
    Ensuite le tout est mis dans outputstream pour l'afifchage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    BufferedOutputStream outputStream = new BufferedOutputStream(
                response.getOutputStream());
     
            IoHelper.copyStream(inputStream, outputStream);
    .

    Si je ne formate pas mon texte en UTF-8, j'ai bien tous les caractères...

    As-tu une idée du problème ?

    Berni.

  4. #4
    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
    C'est quoi "content" ?
    Tu affiches où ?


    a++

  5. #5
    Expert éminent sénior
    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 : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    t'aurais pas oublié de faire un flush ou un close sur ton BufferedOutputStream?

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Et pendant qu'on y est, IoHelper pourrait très bien avoir un bug.

    Dans ce cas comme dans le cas du flush, ça n'a aucun rapport avec utf-8 certes, mais bon on sait pas comment tu sais qu'il manque vraiment rien du tout dans le cas sans utf-8. Peut-être qu'il manque des whitespaces. Ou peut-être que l'alignement tombe pile, ça devrait pas marcher mais le hasard fait que ça marche quand même.

Discussions similaires

  1. Problème JMF récupération flux RTP
    Par Doumeasse38 dans le forum Multimédia
    Réponses: 2
    Dernier message: 27/09/2012, 15h29
  2. [hibernate]Problème de récupération d'objet...
    Par roxx62 dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/07/2005, 12h36
  3. Réponses: 8
    Dernier message: 12/05/2005, 09h16
  4. Nouveau problème de récupération de valeurs.
    Par pmboutteau dans le forum ASP
    Réponses: 4
    Dernier message: 09/03/2005, 11h48
  5. Problème de récupération de texte de formulaire
    Par bigourson dans le forum Langage
    Réponses: 4
    Dernier message: 15/09/2004, 17h27

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