Posez votre question Signaler

Java: encodage d'une string [Résolu]

daronmaster 327Messages postés 12 janvier 2007Date d'inscription - Dernière réponse le 22 avril 2008 à 09:00
Bonjour,
bon la question n'est pas nouvelle mais j'aimerai avoir une réponse nette et précise alors je mets mon post sur le problème d'affichage des accents :
j'ai une string contenant un ou plusieurs accents, je souhaiterai l'afficher sans avoir des probleme de réprésentation des accents et ce peu importe l'OS.
En gros j'ai un programme qui n'affiche pas la meme chose sous windows et sous linux. Je suis obligé d'utlisé une string (que j'affiche dans un JLabel) mais comment la rendre "lisible".
je vous remercie
Lire la suite 

Java: encodage d'une string »

8 réponses
Réponse
+1
moins plus
Salut.
Pour moi, un string, c'est en fait un tableau d'entier, ensuite la correspondance entre un entier et et son graphe (ou sa lettre, comme tu veux, mais je trouve que voir la lettre comme une image permet de mieux apréhender le problème) dépend de l'éditeur avec lequel tu regarde la chaîne.
Ensuite, viens le problème d'unicode qui complexifie la lecture des fichiers textes (en ascii c'est simple, tu lis 7 ou 8 bit et ça correspond à une lettre).
Tout viens surment d'un problème d'encodage de lettre. Comment transfert tu tes fichiers textes de Linux à Win ? si c'est par ftp, vérifie bien que tu es en mode binaire.
Ajouter un commentaire
Réponse
+1
moins plus
ah ok, effectivement c'est un problème d'encryptage
je crois que le text ecrit en linux est en utf
essaie de travailler avec
DataInputStream lecteur = new DataInputStream(new BufferedInputStream(new FileInputStream(....)));
lecteur.readUTF();
Ajouter un commentaire
Réponse
+0
moins plus
Normalement ta chaine elle est la meme partout!
sauf sans le cas ou tu es entrain de l'extraire depuis une BD là y'a des eventuels problèmes
java fonctionne en UNICODE contrairement au c/c++ qui supporte les char(1 octet) et les unsigned int (2 octets) pour representer un caractère.
tu travailles sur des champs extraits de base de données ?
Ajouter un commentaire
Réponse
+0
moins plus
Salut UaLShark,

malheureusement, je crois que ton affirmation, sur l'aspect d'une chaine qui est selon toi la meme partout, est fausse et c'est pourquoi je pose la question. Aussi ma string n'est pas extraite d'une BDD.

Ensuite il me sempblait qu' n int qu'il soit unsigned ou pas est codé sur 4 octets ce qui permet d'utilisé le bit de poids fort pour le signe ce qui signifie que ce dernier peut etre utilisé pour le unsigned pour coder un int plus long (enfin je me comprends).

néanmoins, je ne sais toujours pas comment affiché ma string correctement dans un label sans avoir de probleme d'affichage sur les accents.

merci tout de meme
Ajouter un commentaire
Réponse
+0
moins plus
re daronmaster;
wé c vrai j ai fait une gaffe c'est unsigned short ....
Bon la seule explication popur ce qui se passe dans ton cas et que tu travailles avec un editeur non win 32 comme l'editeur de dos ? si oui voila le pb!
non encore?
Ajouter un commentaire
Réponse
+0
moins plus
bon je récapitule, car je me suis mal expliqué :

j'ai des fichier .txt ecrit avec java.

je lis ces fichiers avec des bufferedReader et je souhaite mettre les lignes de ces fichiers dans differents label.

j'utilise la mthode readline() des bufferedReader qui renvoie une string et c'est cette string que je souhaite mettre dans mon label.

au départ je suis sous linux lorsque j'ai fait mon programme à l'aide de netbeans, mais lorsque je passe sous windows j'ai ces fameux problemes d'affichage des accents.

voila, j'espere t'avoir eclairer

merci pour ton aide
Ajouter un commentaire
Réponse
+0
moins plus
ok donc la string retournée par cette methode sera bien encodée.

je te remercie sincerement j'essaie ça et je passe en résolu si tout est ok, je te tiens au courant

merci
Ajouter un commentaire
Réponse
+0
moins plus
regarde ce message de kij_82, il contient un lien très intéressant pour toi.
http://www.commentcamarche.net/forum/affich 6041576 java detection encoding utf 8
Ajouter un commentaire
Ce document intitulé « Java: encodage d'une string » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?