GlassFish travaille par défaut avec le codage ISO-8859-1 ; les applications Web utilisent souvent le codage UTF-8.
Si un message d’avertissement « WARNING: PWC4011: Unable to set request character encoding to UTF-8 … » s’affiche ou si une valeur saisie par l’utilisateur contient des accents ou des caractères particuliers et n’est pas correctement enregistrée dans la base de données, ou n’est pas correctement affichée, le problème peut être résolu en ajoutant cette ligne dans le fichier glassfish-web.xml (juste au niveau en dessous de la balise <glassfish-web-app>) :
<parameter-encoding default-charset="UTF-8"/>
Pour ajouter un fichier glassfish-web.xml avec NetBeans : clic droit sur le projet war, puis New > Other > GlassFish > GlassFish Descriptor.
Le contenu du fichier après modification :
<?xml version="1.0" encoding="UTF-8"?> <glassfish-web-app error-url=""> <class-loader delegate="true"/> <jsp-config> <property name="keepgenerated" value="true"> <description>Keep a copy of the generated servlet class' java code.</description> </property> </jsp-config> <parameter-encoding default-charset="UTF-8"/> </glassfish-web-app>