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 :

string problème d'encoding


Sujet :

Langage Java

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut string problème d'encoding
    ...

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    j ai également tenté la solution présenté ici mais j ai toujours un problème d'accent ...

    http://www.exampledepot.com/egs/java...nvertChar.html

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



    Commences déjà par faire un code plus propre : http://www.developpez.net/forums/d62...s/#post3691899

    a++

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    ...

  5. #5
    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
    Tu ne spécifies pas l'encodage du fichier de sortie dans l'OutputStreamWriter, et donc tu utilises l'encodage par défaut du système... et il manque toujours les try/finally sur les fermetures...


    Enfin ta méthode encodString() ne sert à rien et est même une erreur : en Java les String sont toujours encodé en UTF-16...
    C'est lors de la lecture/ecriture dans un fichier qu'il faut gérer l'encodage...


    Ton code de copie devrait ressembler à quelque chose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    try {
    	// On récupère le charset dès le début (génère une erreur en cas de charset inconnu)
    	final Charset charset = Charset.forName("8859_1");
     
    	final BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset));
    	try {
     
    		final String outputFile = "C:\\deployement\\yamina-1.0.0-SNAPSHOT-.dir\\datec\\" + fileName + ".xml";
    		final BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), charset);
    		try {
    			String line;
    			while ((line = reader.readLine()) != null) {				
    				line = line.replace("$affaireID", affaireId);
    				line = line.replace("$commune", commune);
    				line = line.replace("$district", district);
    				writer.write(line);
    				System.out.println(line);
    			}
    		} finally {
    			writer.close();
    		}
     
    	} finally {
    		reader.close();
    	}
    } catch (IOException e) {
    	// TODO : Traitement des erreurs :
    }

    a++

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    ....

  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
    Citation Envoyé par *alexandre* Voir le message
    le problème vient uniquement de mes données du bean, j ai bien tenter de récupérer la bonne valeur en convertissant le flux utf-16 en iso de cette manière

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    try {
      result = new String(word.getBytes(), "ISO-8859-1");
    }catch (Exception ex) {
      LOG.error("Exception " + ex.getMessage());
    }
    Non non et non : les String sont TOUJOURS en UTF-16 et ce code ne donnera rien de bon !!!
    Ici tu convertis ta String en tableau de bytes encodé selon l'encodage par défaut du système (qui peut varier : cp1252, utf8...) et tu interprètes cela comme de l'ISO-8859-1 ce qui est incorrect !


    Si tu as un problème d'encodage c'est lors de la lecture : comment tu obtiens word ?

    a++

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    ....

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

Discussions similaires

  1. [Spring MVC] Problème d'encoding
    Par aloha dans le forum Spring Web
    Réponses: 6
    Dernier message: 22/11/2010, 14h56
  2. Réponses: 7
    Dernier message: 27/04/2006, 16h51
  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. [BEA] [STRUTS] Problème d'encoding ...
    Par bgSgcib dans le forum Struts 1
    Réponses: 6
    Dernier message: 18/10/2005, 13h23
  5. problème d'encoding HEPL !
    Par TOM-Z dans le forum XMLRAD
    Réponses: 14
    Dernier message: 28/07/2005, 11h26

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