Java: encodage d'une string
Résolu
daronmaster
Messages postés
326
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 10112 Statut Contributeur -
Char Snipeur Messages postés 10112 Statut Contributeur -
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
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
A voir également:
- Encodage java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
8 réponses
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.
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.
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();
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();
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 ?
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 ?
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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?
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?
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
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
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
je te remercie sincerement j'essaie ça et je passe en résolu si tout est ok, je te tiens au courant
merci
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
http://www.commentcamarche.net/forum/affich 6041576 java detection encoding utf 8