Le 31 mars 2009 16:11, Sylvain Sauvage <[email protected]> a
écrit :

> Philippe Merlin, lundi 30 mars 2009, 14:33:37 CEST
> >
>
> > Le lundi 30 mars 2009, Marc Siramy a écrit :
> > > Bonjour,
> > >
> > > Dans l'idéal, l'encodage des caractères est bien le même pour
> l'ensemble de
> > > la chaîne logicielle (base de données, serveur tomcat ..)
> >[…]


>  Oui mais non. Là, il s’agit d’une webapp livrée, déjà
> régionalisée. Donc aucun triffouillage de la webapp ne devrait
> être nécessaire.


> >[…]
> > Mais ma question, es ce normal qu'une application standard tomcat6  gère
> aussi
> > mal la langue française ?
>
Certes. Je me suis placé dans un contexte général d'utilisation /
développement d'applications sous tomcat.
Donc une application Tomcat peut très bien gérer le multilinguisme (et donc
la langue française) si quelques règles sont respectées, citées toutes ici,
ou presque : http://blogs.warwick.ac.uk/kieranshaw/monthly/0307/ .
Or même les balises HTML <meta> (cf. lien) chargées de spécifiées au
navigateur l'encodage utilisé dans l'application, ne sont pas présentes dans
les pages web générées par l'application "servlets-examples" fournie avec
tomcat. De même, l'encodage des caractères n'est pas géré au niveau des
servlet.
AMHA, il ne faut pas voir "servlets-examples" comme une application
multilingue solide, mais juste comme une application de 'demo' vite écrite,
vite démarée par Tomcat, et donnant rapidement un aperçu de qques
fonctionnalités Java.


   En fait, les messages français de cette webapp sont

> dans /usr/share/java/tomcat-i18n-fr.jar.
>


En fait, l'application 'servlets-example' (puisque je suppose que c'est
celle là dont il s'agit) est déployé dans le répertoire
tomcat/webapps/servlets-examples/
et,semble-t-il, l'ensemble des servlet de l'application utilisent  le
fichier
tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_fr.properties
pour la traduction des messages en français, comme c'est le cas pour la
servlet HelloWorld (cf. le fichier
tomcat/webapps/servlets-examples/WEB-INF/classes/HelloWorldExample.java et
l'utilisation de ResourceBundle.getBundle("LocalStrings",request.getLocale()
dans le doGet() )


> Si on regarde les
> fichiers de ce jar, on voit que les ??? y sont déjà (ce sont de
> vrais ??? : 0x3f3f3f). Donc les problèmes d’encodage sont
> survenus à leur construction. Donc c’est un bogue de
> libtomcat6-java.
>  Je fais un rapport de bogue…
>
Qu'il s'agisse du LocalStrings_fr.properties présent dans le répertoire de
l'application, où celui présent dans tomcat-i18n-fr.jar.,
je lis très bien ces fichiers avec kwrite et l'encodage ISO-8859-1 (accents
compris).
*(L'ISO-8859-1 est du reste le format d'encodage de caractères utilisé par
défaut par le chat Tom.*)

ATTN : mes tests sont réalisés avec Tomcat v5.5 ; évidemment, l'encodage des
fichiers de l'appli. a tres bien pu changer sur la V6.0

--
Marc

Répondre à