J’ai rencontré un souci avec JBoss et l’UTF-8. En effet, Tomcat par défaut encode le contenu en ISO-8859-1. Si vous développez une application avec par exemple des traductions en chinois, et que vous faites en plus appel à Javascript, vous rencontrerez un problème dans le navigateur. Voici comment s’assurer que l’UTF-8 est bien utilisé dans votre application.
Tout d’abord il faut spécifier l’encoding à utiliser dans chaque page JSP:
<%@ page contentType="text/html;charset=UTF-8" %>
Ensuite, reconfigurez Tomcat en éditant le fichier $JBOSS_HOME/server/default/jbossweb-tomcat55.sar/service.xml.
Pour chaque Connector que vous utilisez (http, https) ajoutez un attribut URIEncoding= »UTF-8″ dans la balise Connector.
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="UTF-8" />
Et voilà c’est tout. Maintenant Tomcat fonctionnera en utilisant l’UTF-8 pour l’encoding des URL.
Si vous faites appel à du Javascript avec AJAX pour envoyer des url uuencodées vers le serveur, vous verrez alors que cela fonctionne correctement