JSP erzeugt falsche Zeichenausgabe nach dem Absenden eines Formulars

Problem

Beim Senden eines Formulars mit UTF-8-Zeicheneingabe (nicht im Zeichensatz ISO-8859-1) gibt der Server beim Schreiben des Formulars die falschen Zeichen aus.

Lösung

Legen Sie den Inhaltstyp fest, um die UTF-8-Kodierung zu verwenden. Beispiel:

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

Beispiel:

Wenn der Benutzer „Ó (a-Umlaut) in ein Formularfeld eingibt (Eingabefeld) und auf „Senden“ klickt, wird nach dem JSTL-Durchlauf „�“ angezeigt.

Dieselbe JSP-Beispielseite funktioniert gut in anderen Servlet-Engines.

Erwartetes Ergebnis:

Im Eingabefeld sollte „Ó (a-Umlaut) angezeigt werden.

Beispiellösung:

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

Weitere Informationen

Dieses Problem tritt auf, wenn die Standardkodierung im CQ Servlet-Engine ISO-8859-1 ist.

Adobe-Logo

Bei Ihrem Konto anmelden