Problème

Lorsque vous soumettez un formulaire avec une entrée de caractères UTF-8 (pas dans le jeu de caractères ISO-8859-1) et que la sortie du formulaire est écrite, le serveur sort les mauvais caractères.

Solution

Définissez le type de contenu pour utiliser le codage UTF-8. Par exemple :

<%@taglib uri="/libs/CFC/resources/jstl/c.tld" prefix="c" %> <form method="post"> <input name="searchterm" value="<c:out value="${param.searchterm}" />" /><input type="submit" /> </form>

Exemple:

Lorsque l'utilisateur insère «Ã» (a-Umlaut) dans un champ de formulaire (zone de saisie) et clique sur Soumettre, la boîte de saisie affiche «ï¿½» après l'aller-retour JSTL.

Le même exemple de page JSP fonctionne correctement dans d'autres moteurs de servlets.

Résultat attendu :

La zone de saisie doit afficher "Ã" (a-Umlaut).

Exemple de solution :

<%@ page contentType="text/html;encoding=UTF-8" %> <%@ taglib uri="/libs/CFC/resources/jstl/c.tld" prefix="c" %> <form method="post"> <input name="searchterm" value="<c:out value="${param.searchterm}" />" /><input type="submit" /> </form>

Informations supplémentaires

Ce problème se produit lorsque l'encodage par défaut dans CQ Servlet Engine est ISO-8859-1.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne