Problema

Cuando envía un formulario con entrada de caracteres UTF-8 (no en el conjunto de caracteres ISO-8859-1) y se escribe la salida del formulario, el servidor envía los caracteres incorrectos.

Solución

Configure el tipo de contenido para utilizar la codificación UTF-8. Por ejemplo:

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

Ejemplo:

Cuando el usuario inserta "ä" (a-Umlaut) en un campo de formulario (cuadro de entrada) y hace clic en Enviar, el cuadro de entrada muestra "�" después del envío y recibimiento de JSTL.

El mismo ejemplo de página de JSP funciona bien en otros motores de servlet.

Resultado esperado:

La casilla de entrada debe mostrar "ä" (a-Umlaut).

Ejemplo de solución:

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

Información adicional

Este problema ocurre cuando la codificación predeterminada en CQ Servlet Engine es ISO-8859-1.

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea