Création
d'entreprise
Posez votre question Signaler

[JAVA] Problème avec les accents et Linux

fibo - Dernière réponse le 26 mai 2009 à 16:14
Bonjour,
je travaille avec des fichiers XML en UTF-8 que je dois utiliser sous Linux. Le problème c'est que j'ai des accents dans ces fichiers.
Pour que ça s'enregistre bien, j'ai mis les textes en UTF-8 (par exemple "Réaliser" -> "Réaliser") le problème c'est que sous Linux ça s'affiche aussi "Réaliser" (sous Windows ça affiche bien "Réaliser").
J'ai essayé en unicode ("Réaliser" -> "R\u00E9aliser") mais là java n'interprète plus comme la String "Réaliser" mais comme "R\\u00E9aliser" donc ça affiche "R\u00E9aliser". Bref je ne vois plus comment faire... Si quelqu'un a une piste...
Autre question : existe-t-il une méthode Java pour faire la convertion ASCII / Unicode ("Réaliser" <-> "R\u00E9aliser") ?
Merci d'avance pour vos réponses !
Lire la suite 

[JAVA] Problème avec les accents et Linux »

6 réponses
Réponse
+0
moins plus
Salut,

As-tu essayé utf-16 ?

Sinon, oui il existe des méthodes pour la conversion

ascii unicode : méthode getBytes("") de String
unicode ascii : dans le constructeur de String.

Cordialement
Ajouter un commentaire
Réponse
+0
moins plus
Merci beaucoup pour vos réponses.

Un problème pour le fichier XML c'est qu'il est utilisé par une autre application et à priori c'est forcément du UTF-8.

Je viens de voir pour la méthode getBytes(). Ça retourne bien un tableau de byte mais comment faire le lien entre ce byte et la chaîne en "\u0..." ?

Pour le "& eacute ;", c'était une bonne idée. Par contre le parser XML bloque sur la lecture...

Bref pour le moment je n'ai pas encore résolu mon problème.

Merci.
Ajouter un commentaire
Réponse
+0
moins plus
Bon finalement j'ai peut être trouvé le script qui conviendrait. Je vais faire les tests. Merci !
Ajouter un commentaire
Réponse
+0
moins plus
Salut.
J'ai un peu de mal avec ces codages de caractère, mais pour moi ASCII est une norme dont seulement les 128 premiers caractères sont fixé(et qui n'en contient que 128), et le "é" n'en fait pas partie. ensuite, tu as des codes caractères ASCII étendu sur 8bit (au lieu de 7)
mais là encore ce n'est pas standard. Je pense que l'idéal c'est unicode. Sacahant qu'il me semble que les 128 premiers caractères de unicode sont ceux d'ASCII.
ensuite, tu parle du problème d'affichage, oui ! mais sur quoi ?
Tu as beau encoder ton caractère n unicode si le logiciel de visualisation n'est pas capable de le lire...
donc le "Réaliser" qui apparaît sous Linux pourrai très bien s'aficher de manière voulu en configurant correctement l'affichage.
Ajouter un commentaire
Réponse
-3
moins plus
t'as déjà essayé "é" ?
fxecbre - 26 mai 2009 à 16:14
pas marrant... il aurait surement pas posé la question sinon, bolossssssSsS :)
Ajouter un commentaire
Ce document intitulé « [JAVA] Problème avec les accents et Linux » 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 ?