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

Android Discussion :

Problème encoding iso à utf8


Sujet :

Android

  1. #1
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut Problème encoding iso à utf8
    Bonjour,

    Dans une application où il y a un système d'import export je récupère des fichiers en IS0-8859-1 si j'affiche ces données directement j'ai alors les losanges noirs sur les accents ce qui est normal ! Si je lui dit de lire le fichier en utf-8 j'aurai alors ce genre de caractères "ï¿1/2" à la place des accents ce qui est toujours normal vu que ce n'est pas de l'utf-8.

    En revanche lorsque je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine = new String(str.getBytes("ISO-8859-1"), "UTF-8");
    j'ai encore des "?" à la place de mes accents et la je ne sais vraiment pas pourquoi, de plus cette méthode semble fonctionner pour tous le monde, à chaque fois elle est indiquée ici http://stackoverflow.com/questions/1...-utf-8-in-java et ailleurs !

    Mais pas moyen je ne peux pas obtenir de l'utf8, j'ai toujours ces maudits "?" à la place de mes accents... Il n'y a donc pas de moyen de lire de l'ISO-8859-1 sur android ?

    Si quelqu'un peut m'aider... je lui en serai fort gré

    Merci d'avance

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    C'est au moment de la lecture du fichier qu'il faut désencoder : indiquer l'encodage source donc au moment d'ouvrir le flux.

    Par exemples :


    • Files.newBufferedReader(path, StandardCharsets.ISO_8859_1)

    • new InputStreamReader(new FileInputStream(file), StandardCharsets.ISO_8859_1)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    Merci de ta réponse, si je fais juste ce que tu me dis j'ai ce genre de caractère "ï¿1/2" à la place des accents, puisqu'il trouve bien de l'iso en encodage mais il le lis en utf8 vu qu'android ne semble lire qu'en utf8.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Je ne connais pas les spécificités d'Android. Tu es sûr que le fichier est en ISO-8859-1 ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    Oui certain, lui indiquer que le fichier est en ISO fonctionne bien mais le convertir en Utf8 il n'y a pas moyen... rien ne fonctionne j'ai toujours des caractères bizarre à la place, j'ai même essayer de recréer le fichier pour le convertir mais pas moyen... désespéré

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Ah, ok, je n'avais pas compris que tu cherchais à convertir le fichier en UTF-8. Dans ce cas, il faut faire la même chose lors de la création du flux de sortie :


    • Files.newBufferedWriter(path, StandardCharsets.UTF_8)

    • new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    Ah c'est vrai que je n'ai pas précisé ça, justement je ne peux pas, en sortie le fichier doit être en iso-8859-1 car il va être traité ailleurs avant de revenir dans l'application et la j'aimerais pourvoir le lire... donc éventuellement le reconvertir en utf8 si android ne lis que de l'utf8 vu que le lire en ISO directement m'affiche des gros rectangles noirs sur tous les accents.

    Mais visiblement il ne semble pas y avoir de moyen simple pour lire un fichier en iso sur android, directement ça ne fonctionne pas et le convertir ne fonctionne pas non plus...

  8. #8
    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,


    @Willy55 Ca ne vaut rien dire ce que tu dis : Android n'est pas limité à l'UTF-8.
    Le code que tu as mis dans ton premier poste c'est juste du n'importe quoi. Si tu utilises cela c'est sûr que tu ne pourras rien avoir de bon.


    Quel est ton code ?


    a++

  9. #9
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    Bonjour,

    Je tiens à préciser que ce n'était pas une affirmation mais un constat, désolé si ce n'est pas vrai. Je ne vois pas ce que je peux te mettre comme code, j'ai un fichier a lire qui est en iso et pas moyen, j'obtiens des caractères bizarre quoi que je fasse, losanges noirs, "ï?1/2", ou "?" sur tous mes accents. Tout ce que je vois c'est que Android ne semble pas lire l'iso-8859-1 puisque j'ai des losanges noirs et que les conversions UTF-8 que je tente ne fonctionne pas.

    Que je fasse le code que j'ai publié qui semble être pourri de ce que tu me dis ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedReader br = new BufferedReader(new InputStreamReader(stream, Charsets.ISO_8859_1)));
    Et encore plein d'autre tests divers, j'ai ratissé et testé tous ce que je pouvais sur le net à chaque fois j'obtiens des caractères bizarre sur mes accents...

    Si tu peux m'aider ce serait super

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Oui, enfin, là tu nous donnes juste ce qui créé un BufferedReader à partir d'un InputStream. Le code qu'il faudrait, c'est
    • comment cet inputstream est créé
    • comment il est lu (la boucle)
    • comment la cible est-elle créée (le outputstream)
    • comment tu écris dans cette cible,
    • bref,un code compilable qu'on pourrait utiliser sans modification pour faire ce que tu fais (voire avec un fichier que tu utilises en exemple) (Un ECM donc).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    Pas de soucis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    InputStream stream = new FileInputStream(fileLoad);
    BufferedReader br = new BufferedReader(new InputStreamReader(stream));
    while((line = br.readLine()) != null) {
         String[] tab = line.split(SEPARATOR, -1);
    // la je récupère mes informations
    }
    Voila tant que le document est en UTF-8 ça fonctionne nickel, mais avec de l'iso-8859-1 pas moyen tous les accents sont pourris. Que je fasse :

    Rien : alors j'aurai des losanges noirs à la place des accents

    Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedReader br = new BufferedReader(new InputStreamReader(stream,  Charsets.ISO_8859_1));
    qui affichera alors des caractères bizarres

    Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String chaine = new String(str.getBytes(), Charsets.ISO_8859_1);
            chaine = Html.fromHtml(chaine).toString();
    qui apparement n'est pas bon et la j'ai simplement des "?" sur les accents

    Voila

  12. #12
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Là, encore, le code est partiel. Comment est manipulé tab ? Comment se fait l'écriture dans le fichier cible.

    Oublie ce genre d'écriture : String chaine = new String(str.getBytes(), Charsets.ISO_8859_1);une chaîne n'est pas encodée (enfin, si, parce qu'il faut bien stocker les caractères dans des octets au final, mais cet encodage n'a pas d'importance dans le traitement). L'encodage est nécessaire lorsqu'on veut stocker des caractères dans des octets (tableaux, flux, et donc fichiers).

    Quand tu écris la ligne ci-dessus, tu écris quelque chose qui correspond à :

    Code pseudocode : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    convertir la chaine str vers un tableau d'octet depuis l'encodage interne (celui dont on se moque) vers l'encodage par défaut du système
    convertir le tableau ainsi encodé en chaine, en convertissant depuis l'encodage ISO-8859-1 vers l'encodage interne

    Si l'encodage système est UTF-8, alors tu as écrit : String chaine = new String(str.getBytes("UTF-8"), Charsets.ISO_8859_1);Donc tu convertis en UTF-8, puis tu dis que ces codes UTF-8, c'est du ISO-8859-1 (ce qui n'est pas le cas). Au mieux, lorsque le premier encodage est inclus dans le second, ça peut fonctionner, mais la plupart du temps ça bousille tout.

    La seule écriture valide est : String chaine = new String(str.getBytes( encodage ), encodage);. Le tableau est encodé en encodage, il faut le décoder en encodage. Idem pour les fichiers : on les décode par les charsets respectifs qui ont servi à les encoder.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  13. #13
    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
    Comment est généré ce fichier ? Tu es sûr qu'il est en iso-8859-1 ?
    Comment tu affiches ton texte ? Tu dis que cela affiches des caractères bizarres mais tu n'a pas posté ton code d'affichage.


    Pour les problèmes d'encoding il faut être stricte sur toute la ligne : une seule erreur et tu pourris ton texte...


    a++

  14. #14
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    L'utilisation de tab est partielle je veux bien mais je vois pas ce que je peux te mettre de plus... Y a rien a voir je split sur ce que je récupère avec tab et ça donne :

    Et voila donnée toto est enregistrée dans ma base locale du téléphone.

    Je reprends depuis le début :

    Pour l'encodage au moment de la création du fichier je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // création du fichier File, j'écris dedans (en ISO-8859-1)
    OutputStreamWriter fileWriter = new OutputStreamWriter(new FileOutputStream(file), "ISO-8859-1");
    fileWriter.append(FILE_HEADER);
    fileWriter.append(NEW_LINE);
    fileWriter.append(s.nom);
    fileWriter.append(SEPARATOR);
    fileWriter.append(s.description);
    [...]
    fileWriter.append(NEW_LINE);
    Mon document sort en iso-8859-1 ça il n' y a pas de soucis j'ai vérifié.

    Maintenant au décodage lorsque je lis le fichier il y a ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    InputStream stream = new FileInputStream(fileLoad);
    BufferedReader br = new BufferedReader(new InputStreamReader(stream));
    while((line = br.readLine()) != null) {
         String[] tab = line.split(SEPARATOR, -1);
     
         // la je récupère mes informations
     
    }
    Si tu me dis de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String chaine = new String(tab[0].getBytes(Charsets.ISO_8859_1), Charsets.UTF_8);
    C'est exactement ce que je fais et qui affiche des "?" à la place de tous les accents et que @adiGuba m'a dit que c'était n'importe quoi.

    Si je contente de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedReader br = new BufferedReader(new InputStreamReader(stream, Charsets.ISO_8859_1));
    Alors la cette fois j'ai "ï¿1/2" à la place des accents. Et Si je ne met rien du tout j'ai des losanges noirs.

    Je pense que cette fois j'ai tout dis.

  15. #15
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Willy55 Voir le message
    Si tu me dis de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String chaine = new String(tab[0].getBytes(Charsets.ISO_8859_1), Charsets.UTF_8);
    C'est exactement ce que je fais et qui affiche des "?" à la place de tous les accents et que @adiGuba m'a dit que c'était n'importe quoi.
    En effet (voir mon explication du pourquoi). Donc, il ne faut pas faire ça.


    Citation Envoyé par Willy55 Voir le message
    Si je contente de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedReader br = new BufferedReader(new InputStreamReader(stream, Charsets.ISO_8859_1));
    Alors la cette fois j'ai "ï¿1/2" à la place des accents. Et Si je ne mets rien du tout j'ai des losanges noirs.
    C'est pourtant ce qu'il faut faire pour lire un fichier encodé en IS-8859-1

    Citation Envoyé par Willy55 Voir le message
    Je pense que cette fois j'ai tout dit.
    Pas tout-à-fait : tu n'as pas répondu à la question d'@AdiGuba, concernant la façon dont tu constates que les caractères ne sont pas bons... peut-être que le décodage se fait bien, mais que tu n'utilises pas la manière adéquate pour le vérifier.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  16. #16
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    L'affichage n'entre pas en compte, j'insère les données dans ma base et si je les lis et que j'affiche en console ce qu'elle contient par exemple pour la table Stock :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (Stock s : Stock.all(Stock.class)) {
                    log.qt("Contenu : "+s.nom);
                }
    => "Contenu : S�juig"

    J'ai un stock qui s'appelle : "Séjuig" dans le csv en iso et dans ma base il y a : "S�juig"...

    Je bien vérifié le document, il est bien en iso-8859-1, je l'ai même ouvert avec un tableur pour le ré-enregistrer avec le choix de l'encodage, idem !

  17. #17
    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
    Citation Envoyé par Willy55 Voir le message
    L'affichage n'entre pas en compte, j'insère les données dans ma base et si je les lis et que j'affiche en console ce qu'elle contient par exemple pour la table Stock :
    Donc il est possible que le problème ait lieu lors de l'insertion dans la base...


    Tant qu'on n'aura pas le code complet de tout le traitement et de l'affichage, on ne pourra pas vraiment t'aider...


    a++

  18. #18
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    Non puisque ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String chaine = new String(tab[0].getBytes(Charsets.ISO_8859_1), Charsets.UTF_8);
    Contient déjà : "S�juig"

    Donc l'insertion n'est pas en cause et encore une fois l'affichage je ne vois pas ce que je peux donner, je lis les données dans ma base elle sont dejà "non correcte" donc ça n'entre pas en compte.

    J'ai déjà donné tout le cheminement de la création du fichier à la lecture. Je n'ai rien de plus. Tout est dans mon post #14

  19. #19
    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
    Citation Envoyé par Willy55 Voir le message
    Non puisque ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String chaine = new String(tab[0].getBytes(Charsets.ISO_8859_1), Charsets.UTF_8);
    Mais IL NE FAUT PAS FAIRE CA !!!
    Cela ne veut strictement rien dire.

    Tant que tu as quelque chose comme cela dans ton code cela ne pourra pas marcher...


    Citation Envoyé par Willy55 Voir le message
    J'ai déjà donné tout le cheminement de la création du fichier à la lecture. Je n'ai rien de plus. Tout est dans mon post #14
    Dans ce cas je ne pourrais rien dire de plus non plus...


    a++

  20. #20
    Membre habitué Avatar de Willy55
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    Oui j'ai compris pas la peine de hurler je rappelais juste ce que je faisais actuellement vu que je n'ai pas d'autre méthode pour l'instant ! Je ne vais pas mettre quoi... ça fait 40 fois qu'on me demande mon code donc je le remet. Maintenant les "il ne faut pas faire ça" ça n'aide pas beaucoup malheureusement.

    Merci quand même je vais re-chercher, si je trouve je mettrai la solution.

Discussions similaires

  1. Problème Encoding UTF8 en client serveur
    Par warmy dans le forum C#
    Réponses: 0
    Dernier message: 16/06/2009, 02h23
  2. Redirection sortie standard - Problème encoding
    Par schniouf dans le forum Langage
    Réponses: 4
    Dernier message: 12/12/2006, 13h51
  3. Conversion iso-utf8 : longueur de chaîne
    Par dédémat dans le forum C
    Réponses: 4
    Dernier message: 22/09/2006, 17h22
  4. Problème d'encodage UTF8
    Par vg33 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2006, 19h28
  5. Encoding ISO-8859-15 et UTF8
    Par calfater dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/06/2006, 21h12

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