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 :

Accents mal encodes apres sauvegarde sous forme de fichier


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 6
    Points
    6
    Par défaut Accents mal encodes apres sauvegarde sous forme de fichier
    Bonjour a tous,

    Je genere un String contenant du code HTML.
    Lorsque je l'imprime a la console, j'obtiens de joulis accents comme ceci:

    Study after Velázquez

    Lorsque je le sauvegarde sur le systeme de fichiers, j'obtiens ceci:

    Study after Velázquez

    ... ce qui est du plus mauvais effet sous un navigateur. Pour la sauvegarde, j'utilise le bout de code suivant :
    String name = "test";
    Writer out = new BufferedWriter(new OutputStreamWriter(
    new FileOutputStream("/Users/killMePlease/myFolder/" + name + ".html"), "UTF8"));

    Le but final est de pouvoir afficher tous ces jolis caracteres dans un navigateur.

    Merci pour vos eventuelles reponses.
    Desole pour les accents (wrong keyboard...)

  2. #2
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    Bonjour,
    C'est simple ton système de fichier n'est pas en UTF8. Sous quel système tourne-tu ?

    Dans ton cas tu dis de sauvegarder le fichier en UTF8. Or si ton système de ichier n'est pas en UTF8 et donc que ton système n'utilise pas l'encodage UTF8 les caractère affiché ne seront pas tous bon. De plus en UTF8 les caractères sont encodé sur 4 octets (2 souvent pour les autres systèmes de fichier). C'est pour ça qu'il te remplace ton 'à' par 2 caractères 'Ã' et '¡'.
    Donc si tu veux pouvoir affciher correctement les données génère ton fichier dans l'encodage système (bien que UTF8 en miuex). La conversion d'un système de fichier d'un encodage vers un autre étant très risqué (jene sais même pas sis c'est possible).

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Bonjour narmataru et merci pour cette reponse tres rapide !

    C'est *grandement* apprecie car j'ai livre des fichiers hier qui comporte ce probleme d'encodage (le boulet !...).

    Citation Envoyé par narmataru
    C'est simple ton système de fichier n'est pas en UTF8. Sous quel système tourne-tu ?
    Sous mac depuis peu... le portable du taff. Mais sinon j'ai une SuSe et un XP a disposition (cf suite).

    Citation Envoyé par narmataru
    Dans ton cas tu dis de sauvegarder le fichier en UTF8. Or si ton système de ichier n'est pas en UTF8 et donc que ton système n'utilise pas l'encodage UTF8 les caractère affiché ne seront pas tous bon. De plus en UTF8 les caractères sont encodé sur 4 octets (2 souvent pour les autres systèmes de fichier). C'est pour ça qu'il te remplace ton 'à' par 2 caractères 'Ã' et '¡'.
    Donc si tu veux pouvoir affciher correctement les données génère ton fichier dans l'encodage système (bien que UTF8 en miuex). La conversion d'un système de fichier d'un encodage vers un autre étant très risqué (jene sais même pas sis c'est possible).
    Merci pour cette explication tres complete .
    Je suis donc un peu dans le XXXX... Si je relancais le code sur une machine sous Windows ou Linux, est-ce que ca resoudrait le probleme?

    Merci

  4. #4
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Desole pour le post precedent qui etait a cote de la plaque...
    Si j'utilise MacRoman comme encodage, j'obtiens ceci :

    Vel‡zquez

    N'y a-t-il aucun moyen de generer du UTF8 ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Ce probleme d'encodage est nouveau pour moi. Desole si mes questions sont stupides.
    Si je ne peux pas enregistrer correctement en UTF8, quel format d'encodage choisir pour qu'une majorite de caracteres speciaux soit correctement affiches sur Linus/Mac/Windows? (Les fichiers seront sans doute manipuler sous les trois OS)
    "8859_1" marche pour les accents latins mais les fichiers que je manipule contiennent egalement du cyrilique et autres joyeusetes.

    Merci,

  6. #6
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    Bonjour,
    si je relie ton premier post, tu génère de l'HTML. Or en HTML tous les caractères spéciaux ont un code (idem pour le XML) donc l'encodage système importe peu.
    Par exemple il faudra que tu remplace tous les 'é' par 'é' et ainsi de suite pour tous les caractères spéciaux HTML.
    Voici un tableau de correspondances :
    http://www.toutimages.com/codes_caracteres.htm

Discussions similaires

  1. [Lazarus] Form mal rafraîchie après disparition autre form
    Par thierrybo dans le forum Lazarus
    Réponses: 2
    Dernier message: 31/03/2010, 15h28
  2. Réponses: 2
    Dernier message: 27/06/2007, 10h22
  3. [Plugin]sauvegarde sous forme de projet
    Par ruscov dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 21/03/2007, 13h27
  4. Download automatique d'un flux sous forme de fichier.
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 11/10/2006, 16h53
  5. Exportattion de données sous forme de fichiers
    Par bidson dans le forum XMLRAD
    Réponses: 20
    Dernier message: 08/06/2004, 13h25

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