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 :

Problème conversion € en utf-8


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Développeur Java
    Inscrit en
    Octobre 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2011
    Messages : 137
    Par défaut Problème conversion € en utf-8
    Bonjour,

    Actuellement, je récupère un flux xml stocké en LongBlob sur une table de BDD.
    Je fais ma requête select pour récupérer ce flux en faisant :

    MonObjet.setFlux(new String(r.getString("CHAMPLONGBLOB").getBytes(), "UTF-8"));

    Or, quand j'inspecte l'attribut dans l'IDE, j'obtiens (en ayant splitté ce qui m'intéresse) :

    " �?� "

    Alors que pourtant, c'est censé être le symbole euro.
    De même, si je ne fais pas mon convert en UTF-8, à la place de ça, j'ai :

    " € " en inspectant sur l'ide, entre le â et le signe bizarre, j'ai \u0082

    Comment je fais pour récupérer mon symbole € afin de pouvoir l'afficher dans ma jsp ?

    J'ai regardé la FAQ : http://java.developpez.com/faq/java/...#charsetString
    J'ai pas compris du coup pourquoi ça ne fonctionnait pas.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Baboulinet_ Voir le message
    J'ai regardé la FAQ : http://java.developpez.com/faq/java/...#charsetString
    J'ai pas compris du coup pourquoi ça ne fonctionnait pas.
    La FAQ indique comment transformer un tableau de bytes en un autre tableau de bytes (les deux représentant le même texte, mais dans des encodages différents.)

    Toi tu n'as pas un tableau de bytes, tu as une String. Il n'y a rien à convertir dans une String, elle n'a pas d'encodage. Autrement dit, quand tu as une String tu as déjà géré les encodages, et si ça n'a pas été bien fait, c'est trop tard pour réparer, l'information est perdue.

    Vu que ta colonne est un BLOB et pas un CLOB, on peut pas être sûr que faire getString() dessus choisira un encodage pertinent. Donc il faut faire getBytes() dessus, et ensuite transformer en String en indiquant toi-même l'encodage.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre très actif
    Profil pro
    Développeur Java
    Inscrit en
    Octobre 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2011
    Messages : 137
    Par défaut
    Toi tu roxx du poney! :p

    Merci beaucoup, j'aurai dû y penser.

    A bientôt sur les forums de dv.net

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

Discussions similaires

  1. Problème conversion temps
    Par Vodkha dans le forum Langage
    Réponses: 5
    Dernier message: 16/02/2006, 15h24
  2. Problème conversion float vers double
    Par jhenaff dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/01/2006, 10h39
  3. problème d'encoding UTF-8 via la SDK MSXML
    Par ep31 dans le forum MFC
    Réponses: 6
    Dernier message: 26/01/2006, 09h46
  4. Conversion vers UTF-8
    Par magnus2005 dans le forum Langage
    Réponses: 1
    Dernier message: 26/10/2005, 10h12
  5. Problème conversion date
    Par mat.M dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2004, 15h05

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