Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme unicode

11 réponses
Avatar
pcouas
Bonjour,

Je rencontre des problemes avec certains caracteres unicode dans des
chaines de caract=E8res les caracteres \u2502 ne fonctionne pas alors
que les caract=E8res \u2014 fonctionne ?

Auriez vous une id=E9e ?

Merci d'avance
Philippe

10 réponses

1 2
Avatar
Rémy
"pcouas" a écrit dans le message de news:

Bonjour,

Je rencontre des problemes avec certains caracteres unicode dans des
chaines de caractères les caracteres u2502 ne fonctionne pas alors
que les caractères u2014 fonctionne ?

Auriez vous une idée ?

Merci d'avance
Philippe


Peut-être que le caractère u2502 n'est pas représentable dans votre locale
?

Qu'entendez vous exactement par "fonctionne" et "ne fonctionne pas" ?

(Chez moi, l'un comme l'autre affichent '?').

Cordialement

Rémy

Avatar
pcouas
Bonjour

Lorsque je force le u2014 dans une chaine texte pour le faire afficher
dans un document PDF utilisant ITEXT, je vois bien le caractere ,
lorsque je force le u2502, je ne vois pas le resultat apparaitre.
Je me demandais si la chaine ne devait pas etre typé d'une maniere
spéciale.
J'ai fait les tests en JDK 1.3 et JDK1.4
Avatar
pcouas
String text_l="u2502u2502";
Avatar
Patrick
Peut-être une histoire de police?
Chez moi (Ubuntu, JDK 1.5) les 2 s'affichent bien avec println.
Avatar
Rémy
"pcouas" a écrit dans le message de news:

Bonjour

Lorsque je force le u2014 dans une chaine texte pour le faire afficher
dans un document PDF utilisant ITEXT, je vois bien le caractere ,
lorsque je force le u2502, je ne vois pas le resultat apparaitre.
Je me demandais si la chaine ne devait pas etre typé d'une maniere
spéciale.
J'ai fait les tests en JDK 1.3 et JDK1.4



Il me semble que les Strings effectuent une conversion vers la locale
courante (par exemple Français ou Grec ou Russe ...) lors de l'affectation.
Tout caractère qui n'existe pas dans la locale courante est supprimé ou
remplacé par '?'.

En fait, la classe String est orientée interface utilisateur (affichage et
saisie).
Pour conserver des données sans qu'elles soient interprétées, il est
préférable d'utiliser ByteArray.

A moins que ITEXT (que je connais peu) soit capable de faire lui même le
traitement de l'unicode, auquel cas il suffirait peut être de mettre
"u2502" dans la chaîne de façon à ce qu'elle contienne "u2502" et que ce
soit ITEXT qui traite la conversion depuis l'unicode.

Rémy

Avatar
pcouas
Ok, je nage un peu, un petit morceau de code m'aiderais Bien pour me
faire une idee, je cherche en fait à faire des cadres graphiques.

Merci d'avance
Philippe
Avatar
Patrick
Ok, je nage un peu, un petit morceau de code m'aiderais Bien pour me
faire une idee, je cherche en fait à faire des cadres graphiques.


Il me semble que dans iText il y a de quoi faire ça de façon plus simple:
http://itextdocs.lowagie.com/tutorial/objects/tables/index.html

Avatar
Rémy
"pcouas" a écrit dans le message de news:

Ok, je nage un peu, un petit morceau de code m'aiderais Bien pour me
faire une idee, je cherche en fait à faire des cadres graphiques.

Merci d'avance
Philippe



Le problème, c'est que je ne connais pas l'API ITEXT.

- Est-il possible de créer le document à partir d'une String ? (Je suppose
que oui et que c'est ce que tu fais...)

- Est-il possible de créer le document à partir d'un Byte[] ? (Si oui, alors
tu remplis un Byte[] avec le contenu de ton document, et tu l'envoie à
ITEXT). Pour les parties que tu as déjà sous forme de String, il y a une
méthode getBytes qui permet de transformer la String en Byte[]. On peut
aussi utiliser les classes ByteArrayInputStream et ByteArrayOutputStream
pour manipuler plus facilement.

- Il y a peut-être d'autres manières de faire que d'envoyer les codes des
caractères pour tracer des cadres.

Avatar
pcouas
Je ne peux pas utiliser cela
Le Flux que je recupere contient deja des sequence C0 a C7 que l'
ISO8859-1 ne gere pas, et que je veux remplacer par les caractères
UNICODE .
Je ne sais pas a l'avance ce que je vais avoir comme donnée.
ce que je ne m'explique pas c'es pourquoi le u2014 est ok pet pas le
u2501
Avatar
TestMan
Bonjour,

Je rencontre des problemes avec certains caracteres unicode dans des
chaines de caractères les caracteres u2502 ne fonctionne pas alors
que les caractères u2014 fonctionne ?

Auriez vous une idée ?

Merci d'avance
Philippe



Bonjour,

Pouvez-vous tester en utilisant une police qui supporte plus
complètement Unicode comme "Arial Unicode MS" (livré avec MS Office) ou
alors Code2000 http://en.wikipedia.org/wiki/Code2000 ?

Celà vous permettra d'éliminer déjà le cas de figure de la police
utilisée qui dispose pas des caractères (étrange vu les caractères que
vous utilisez, mais pourquoi pas).

Je ne connais pas l'ITEXT non plus, donc je ne pourrais pas vous dire
plus pour l'instant ... mais vérifiez avec votre config que vous voyez
bien déjà les bon caractères avec leur test unicode :
http://itextdocs.lowagie.com/examples/com/lowagie/examples/fonts/UnicodeExample.java

A+

TM

1 2