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

Persistance des données Java Discussion :

Encodage UTF-8 depuis une BDD Hsqldb


Sujet :

Persistance des données Java

  1. #1
    Membre régulier Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 89
    Points
    89
    Par défaut Encodage UTF-8 depuis une BDD Hsqldb
    Bonjour tout le monde,

    J'ai fouillé sur le forum, mais je n'ai pas trouvé de réponse à mon problème.

    J'ai une application JAVA qui tourne avec un base Hsqldb.
    Mon application est encodé en utf-8, d'après ce que j'ai compris hsqldb aussi.
    Mais lorsque j'affiche des chaines de caractères de venant de ma BDD dans mon application je me retrouve avec des caractères tel que é à la place du é et ce pour tous les accents.

    J'ai donc clairement un problème d'encodage.

    A savoir que ce problème ne se produit pas lorsque j'éxecute mon appli depuis netbeans, mais uniquement lorsque je lance directement le .jar généré par netbeans.

    Pour être honnete je ne sais pas par quel bout prendre le problème.

    Donc si vous avez une idée

    Merci
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

  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,

    Citation Envoyé par bankette Voir le message
    Mais lorsque j'affiche des chaines de caractères de venant de ma BDD dans mon application
    Tu affiches cela comment ?

    a++

  3. #3
    Membre régulier Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 89
    Points
    89
    Par défaut
    Quelle rapidité !!

    L'affichage finale se fait ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JTextArea titre = new JTextArea(oArticle.getTitre());
    sachant que getTitre renvoi un String qui vient lui même d'un requetage en base.

    Et mon requetage en base se fait ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                Statement statement;
                statement = connexion.createStatement();
                ResultSet resultat = statement.executeQuery(requete);
                return resultat;
    Je n'ai précisé d'encodage nul part, mais je ne sais pas trop ou le faire...
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

  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
    Ok donc le problème ne vient pas de l'affichage (Swing gère très bien cela).

    A moins que tu ne bidouilles tes String, cela ne peut venir que de la requête JDBC, mais je ne trouve pas d'info sur la manière dont on spécifie cela dans Hsqldb...




    Juste par curiosité, essayes de lancer ton appli en console en spécifiant l'encodage système :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java  -Dfile.encoding=utf8  archive.jar
    a++

  5. #5
    Membre régulier Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 89
    Points
    89
    Par défaut
    Ouaouh !!
    Un expert encodage java

    Alors vu que je suis sous windows j'ai lancé la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    D:\>java -jar -Dfile.encoding=utf8 appli.jar
    Et miracle, plus de souci !! Mes accents sont bons.
    Je peux avoir une explication?
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

  6. #6
    Membre régulier Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 89
    Points
    89
    Par défaut
    Autre petite question, comment faire pour avoir quelque chose qui fonctionne sur toutes les plateformes, je dois avoir un lanceur par système d'exploitation?

    Merci
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

  7. #7
    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
    Il s'agit là de l'encodage par défaut du système. Sous nos Windows européens c'est normalement du Cp1252 (un dérivé de l'ISO-8859-1).

    C'est l'encodage utilisé par défaut pour les flux d'entrée/sorties (fichiers et stdin/stdout/stderr). Les EDIs changent généralement cette propriétés afin qu'elle concorde avec l'encodage de leurs propres consoles... D'où les différences de fonctionnement entre Netbeans et le jar autonome.



    Mais définir manuellement cette propriété n'est pas très juste : cela pourrait te poser d'autres problèmes.

    Il doit y avoir un moyen de forcer l'encodage de hsqldb lors de la connexion...


    a++

  8. #8
    Membre régulier Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 89
    Points
    89
    Par défaut
    OK, je vois le problème.
    J'avais déja regardé un peu mais je n'avais trouvé aucune doc la dessus pour Hsqldb.

    Je vais essayer de posté sur le bon topic ici qui sait !

    Merci en tout cas , si j'ai un retour je le posterai, dans le pire des cas, je ferai un lanceur spécifique windows.
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

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

Discussions similaires

  1. Insertion de données dans un grid depuis une bdd
    Par Vil'Coyote dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 20/08/2009, 10h21
  2. Application généree depuis une BDD - Relations
    Par Anified dans le forum Flex
    Réponses: 2
    Dernier message: 08/07/2008, 10h28
  3. Gestion images miniatures depuis une BdD
    Par Clorish dans le forum Windows Forms
    Réponses: 10
    Dernier message: 28/11/2007, 09h12
  4. Plugin de génération EJB Entity depuis une BdD
    Par j'suisStateful dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 03/10/2007, 16h55
  5. Liste déroulante imbriquée importée depuis une Bdd
    Par WhyMee dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 07/08/2006, 16h48

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