JSP produce caratteri errati in uscita dopo il post del modulo

Problema

Quando si invia un modulo con l'input di caratteri UTF-8 (non nel set di caratteri ISO-8859-1) e l'output del modulo viene scritto, il server emette i caratteri sbagliati.

Soluzione

Impostare il tipo di contenuto per utilizzare la codifica UTF-8. Esempio:

<%@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>

Esempio:

Quando l'utente inserisce "ä" (a-Umlaut) in un campo del modulo (casella di immissione) e clicca su Invia, la casella di immissione mostra "�" dopo il giro del JSTL.

Lo stesso esempio della pagina JSP funziona bene in altri motori servlet.

Risultato previsto:

Il campo di immissione dovrebbe indicare "ä" (a-Umlaut).

Esempio di soluzione:

<%@ 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>

Informazioni aggiuntive

Questo problema si verifica quando la codifica predefinita in CQ Servlet Engine è ISO-8859-1.

Logo Adobe

Accedi al tuo account