Discussion:
Encoding encore et toujours
Sebastien Cesbron
2011-08-31 15:32:29 UTC
Permalink
Bonjour

J'ai un problème d'encoding, encore un et j'ai toujours du mal à solutionner
proprement ce genre de problème.

Je génère un fichier pdf dans lequel je mets un signe €

Sur ma machine ubuntu française tout va bien

Par contre sur les vm debian de prod, le caractère n'est pas bien affiché.
Les machines semblent être en anglais par défaut (LANG=en_US.UTF-8) mais
modifier la langue en fr_FR.UTF-8 comme sur ma machine ne semble pas
fonctionner.

Je me demande donc si quelqu'un connaît une technique qui permettrait de
régler ce problème

A+
Seb
Patrice Godard
2011-08-31 15:42:32 UTC
Permalink
Si tu as accÚs aux params de lancement de ta JVM:
java -Duser.language=fr -Duser.region=FR Ca devrait le faire.
J'ajoute souvent -Dfile.encoding=UTF-8 car malheureusement la JVM n'est pas en UTF-8 par défaut sous windows.

My 2 cents.
Patrice
Message du 31/08/11 17:33
De : "Sebastien Cesbron"
A : "java"
Objet : Encoding encore et toujours
Bonjour
J'ai un problÚme d'encoding, encore un et j'ai toujours du mal à solutionner proprement ce genre de problÚme.
Je génÚre un fichier pdf dans lequel je mets un signe €
Sur ma machine ubuntu française tout va bien
Par contre sur les vm debian de prod, le caractÚre n'est pas bien affiché. Les machines semblent être en anglais par défaut (LANG=en_US.UTF-8) mais modifier la langue en fr_FR.UTF-8 comme sur ma machine ne semble pas fonctionner.
Je me demande donc si quelqu'un connaît une technique qui permettrait de régler ce problÚme
A+
Seb
Une messagerie gratuite, garantie à vie et des services en plus, ça vous tente ?
Je crée ma boîte mail www.laposte.net
Sebastien Cesbron
2011-08-31 15:48:30 UTC
Permalink
Salut

En fait mon problème semble plus profond car quand je fais
NumberFormat.getCurrencyInstance(Locale.FRENCH).format(2.5d) j'obtiens "*2,50
[€]"*

J'ai l'impression que c'est mon système qui n'est pas capable d'afficher le
sigle euro

Je vais creuser avec un petit testcase

seb
Post by Patrice Godard
java -Duser.language=fr -Duser.region=FR
Ca devrait le faire.
J'ajoute souvent -Dfile.encoding=UTF-8 car malheureusement la JVM n'est pas
en UTF-8 par défaut sous windows.
My 2 cents.
Patrice
Message du 31/08/11 17:33
De : "Sebastien Cesbron"
A : "java"
Objet : Encoding encore et toujours
Bonjour
J'ai un problème d'encoding, encore un et j'ai toujours du mal à
solutionner proprement ce genre de problème.
Je génère un fichier pdf dans lequel je mets un signe €
Sur ma machine ubuntu française tout va bien
Par contre sur les vm debian de prod, le caractère n'est pas bien
affiché. Les machines semblent être en anglais par défaut (LANG=en_US.UTF-8)
mais modifier la langue en fr_FR.UTF-8 comme sur ma machine ne semble pas
fonctionner.
Je me demande donc si quelqu'un connaît une technique qui permettrait de
régler ce problème
A+
Seb
<https://compte.laposte.net/inscription/index.do?jeux=2011FOOTER_generique>
j***@gmail.com
2011-08-31 15:50:30 UTC
Permalink
T y accedes comment ? En ssh ? Avec quel outil et quelle config de terminal?
---- Envoyé avec BlackBerry® d'Orange ----

-----Original Message-----
From: Sebastien Cesbron <***@gmail.com>
Date: Wed, 31 Aug 2011 17:48:30
To: Patrice Godard<***@laposte.net>
Cc: java<***@u-strasbg.fr>
Subject: Re: Encoding encore et toujours

Salut

En fait mon problème semble plus profond car quand je fais
NumberFormat.getCurrencyInstance(Locale.FRENCH).format(2.5d) j'obtiens "*2,50
[€]"*

J'ai l'impression que c'est mon système qui n'est pas capable d'afficher le
sigle euro

Je vais creuser avec un petit testcase

seb
Post by Patrice Godard
java -Duser.language=fr -Duser.region=FR
Ca devrait le faire.
J'ajoute souvent -Dfile.encoding=UTF-8 car malheureusement la JVM n'est pas
en UTF-8 par défaut sous windows.
My 2 cents.
Patrice
Message du 31/08/11 17:33
De : "Sebastien Cesbron"
A : "java"
Objet : Encoding encore et toujours
Bonjour
J'ai un problème d'encoding, encore un et j'ai toujours du mal à
solutionner proprement ce genre de problème.
Je génère un fichier pdf dans lequel je mets un signe €
Sur ma machine ubuntu française tout va bien
Par contre sur les vm debian de prod, le caractère n'est pas bien
affiché. Les machines semblent être en anglais par défaut (LANG=en_US.UTF-8)
mais modifier la langue en fr_FR.UTF-8 comme sur ma machine ne semble pas
fonctionner.
Je me demande donc si quelqu'un connaît une technique qui permettrait de
régler ce problème
A+
Seb
<https://compte.laposte.net/inscription/index.do?jeux=2011FOOTER_generique>
Sebastien Cesbron
2011-08-31 15:54:41 UTC
Permalink
Si j'y accède via mon site web sur ma machine c'est ok

Sur la même machine si j'exécute le programme

public class TestEuro {
public static void main(String[] args) {
System.out.println(Locale.getDefault());

System.out.println(NumberFormat.getCurrencyInstance(Locale.FRENCH).format(2.5d));
}
}

dans la console eclipse c'est pas bon, dans mon terminal c'est pas bon

sur la machine de prod, via mon appli web c'est pas bon.

je crois qu'il va falloir que je me penche sérieusement sur la question

seb
** T y accedes comment ? En ssh ? Avec quel outil et quelle config de
terminal?
---- Envoyé avec BlackBerry® d'Orange ----
------------------------------
*Date: *Wed, 31 Aug 2011 17:48:30 +0200
*Subject: *Re: Encoding encore et toujours
Salut
En fait mon problème semble plus profond car quand je fais
NumberFormat.getCurrencyInstance(Locale.FRENCH).format(2.5d) j'obtiens "*2,50
[€]"*
J'ai l'impression que c'est mon système qui n'est pas capable d'afficher le
sigle euro
Je vais creuser avec un petit testcase
seb
Post by Patrice Godard
java -Duser.language=fr -Duser.region=FR
Ca devrait le faire.
J'ajoute souvent -Dfile.encoding=UTF-8 car malheureusement la JVM n'est
pas en UTF-8 par défaut sous windows.
My 2 cents.
Patrice
Message du 31/08/11 17:33
De : "Sebastien Cesbron"
A : "java"
Objet : Encoding encore et toujours
Bonjour
J'ai un problème d'encoding, encore un et j'ai toujours du mal à
solutionner proprement ce genre de problème.
Je génère un fichier pdf dans lequel je mets un signe €
Sur ma machine ubuntu française tout va bien
Par contre sur les vm debian de prod, le caractère n'est pas bien
affiché. Les machines semblent être en anglais par défaut (LANG=en_US.UTF-8)
mais modifier la langue en fr_FR.UTF-8 comme sur ma machine ne semble pas
fonctionner.
Je me demande donc si quelqu'un connaît une technique qui permettrait de
régler ce problème
A+
Seb
<https://compte.laposte.net/inscription/index.do?jeux=2011FOOTER_generique>
Manuel Boillod
2011-08-31 16:10:11 UTC
Permalink
Salut,

Tu peux faire un test simple avec un System.out.println("€"); pour vérifier
que ton système est bien capable d'afficher le sigle.
Le code java n'est pas lié à l'encodage du système. Le paramètre
file.encoding est utilisé pour les ressources extérieures à la JVM.

Si l'exécution du programme affiche bien € sur ton environnement et que
l'affichage échoue sur l'autre environnement, tu seras sûr que le problème
vient de la capacité du système a afficher le caractère.

Manuel
Post by Sebastien Cesbron
Si j'y accède via mon site web sur ma machine c'est ok
Sur la même machine si j'exécute le programme
public class TestEuro {
public static void main(String[] args) {
System.out.println(Locale.getDefault());
System.out.println(NumberFormat.getCurrencyInstance(Locale.FRENCH).format(2.5d));
}
}
dans la console eclipse c'est pas bon, dans mon terminal c'est pas bon
sur la machine de prod, via mon appli web c'est pas bon.
je crois qu'il va falloir que je me penche sérieusement sur la question
seb
** T y accedes comment ? En ssh ? Avec quel outil et quelle config de
Post by j***@gmail.com
terminal?
---- Envoyé avec BlackBerry® d'Orange ----
------------------------------
*Date: *Wed, 31 Aug 2011 17:48:30 +0200
*Subject: *Re: Encoding encore et toujours
Salut
En fait mon problème semble plus profond car quand je fais
NumberFormat.getCurrencyInstance(Locale.FRENCH).format(2.5d) j'obtiens "*2,50
[€]"*
J'ai l'impression que c'est mon système qui n'est pas capable d'afficher
le sigle euro
Je vais creuser avec un petit testcase
seb
Post by Patrice Godard
java -Duser.language=fr -Duser.region=FR
Ca devrait le faire.
J'ajoute souvent -Dfile.encoding=UTF-8 car malheureusement la JVM n'est
pas en UTF-8 par défaut sous windows.
My 2 cents.
Patrice
Message du 31/08/11 17:33
De : "Sebastien Cesbron"
A : "java"
Objet : Encoding encore et toujours
Bonjour
J'ai un problème d'encoding, encore un et j'ai toujours du mal à
solutionner proprement ce genre de problème.
Je génère un fichier pdf dans lequel je mets un signe €
Sur ma machine ubuntu française tout va bien
Par contre sur les vm debian de prod, le caractère n'est pas bien
affiché. Les machines semblent être en anglais par défaut (LANG=en_US.UTF-8)
mais modifier la langue en fr_FR.UTF-8 comme sur ma machine ne semble pas
fonctionner.
Je me demande donc si quelqu'un connaît une technique qui permettrait
de régler ce problème
A+
Seb
<https://compte.laposte.net/inscription/index.do?jeux=2011FOOTER_generique>
Sebastien Cesbron
2011-09-01 06:43:12 UTC
Permalink
Bonjour

J'ai résolu mon problème, et comme souvent le diable est dans les détails.

En fait pour éviter d'être dépendant de la langue de la plateforme, je force
le français dans mon formatage car mon appli est uniquement française.

Par contre pour faire cela j'ai fait :
NumberFormat.getCurrencyInstance(Locale.FRENCH) et là c'est le drame

En effet la locale french (fr) n'affiche pas bien le sigle euro.

Il me suffisait donc de faire
NumberFormat.getCurrencyInstance(Locale.FRANCE) pour que tout rentre dans
l'ordre

Désolé du dérangement
Seb
Post by Manuel Boillod
Salut,
Tu peux faire un test simple avec un System.out.println("€"); pour
vérifier que ton système est bien capable d'afficher le sigle.
Le code java n'est pas lié à l'encodage du système. Le paramètre
file.encoding est utilisé pour les ressources extérieures à la JVM.
Si l'exécution du programme affiche bien € sur ton environnement et que
l'affichage échoue sur l'autre environnement, tu seras sûr que le problème
vient de la capacité du système a afficher le caractère.
Manuel
Si j'y accède via mon site web sur ma machine c'est ok
Post by Sebastien Cesbron
Sur la même machine si j'exécute le programme
public class TestEuro {
public static void main(String[] args) {
System.out.println(Locale.getDefault());
System.out.println(NumberFormat.getCurrencyInstance(Locale.FRENCH).format(2.5d));
}
}
dans la console eclipse c'est pas bon, dans mon terminal c'est pas bon
sur la machine de prod, via mon appli web c'est pas bon.
je crois qu'il va falloir que je me penche sérieusement sur la question
seb
** T y accedes comment ? En ssh ? Avec quel outil et quelle config de
Post by j***@gmail.com
terminal?
---- Envoyé avec BlackBerry® d'Orange ----
------------------------------
*Date: *Wed, 31 Aug 2011 17:48:30 +0200
*Subject: *Re: Encoding encore et toujours
Salut
En fait mon problème semble plus profond car quand je fais
NumberFormat.getCurrencyInstance(Locale.FRENCH).format(2.5d) j'obtiens "
*2,50 [€]"*
J'ai l'impression que c'est mon système qui n'est pas capable d'afficher
le sigle euro
Je vais creuser avec un petit testcase
seb
Post by Patrice Godard
java -Duser.language=fr -Duser.region=FR
Ca devrait le faire.
J'ajoute souvent -Dfile.encoding=UTF-8 car malheureusement la JVM n'est
pas en UTF-8 par défaut sous windows.
My 2 cents.
Patrice
Message du 31/08/11 17:33
De : "Sebastien Cesbron"
A : "java"
Objet : Encoding encore et toujours
Bonjour
J'ai un problème d'encoding, encore un et j'ai toujours du mal à
solutionner proprement ce genre de problème.
Je génère un fichier pdf dans lequel je mets un signe €
Sur ma machine ubuntu française tout va bien
Par contre sur les vm debian de prod, le caractère n'est pas bien
affiché. Les machines semblent être en anglais par défaut (LANG=en_US.UTF-8)
mais modifier la langue en fr_FR.UTF-8 comme sur ma machine ne semble pas
fonctionner.
Je me demande donc si quelqu'un connaît une technique qui permettrait
de régler ce problème
A+
Seb
<https://compte.laposte.net/inscription/index.do?jeux=2011FOOTER_generique>
Continuer la lecture sur narkive:
Loading...