Ich versuche, ein Formular, das UTF8-Zeichen enthält darin einzureichen. Das Formular sieht wie folgt aus:UTF-8-Codierung mit Formular Post und Spring Controller
<form id="workflowPersistForm" accept-charset="UTF-8" method="post" action="/workflow-next">>
<input id="stateGlobal" type="hidden" value=" お問い合わせ" name="state">
</form>
Mein Server eine Feder basiert. Meine web.xml bereits die Encoding-Filter:
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
Das Problem ist, dass die UTF-8-Zeichen werden immer irgendwo vermasselt. Ich habe gerade am Anfang des Controllers einen Haltepunkt gesetzt, und die Charaktere sind an diesem Punkt selbst durcheinander. Wenn ich UTF8-Zeichen im Controller erzeuge, wird es im Browser korrekt gerendert. Nur beim Formularpost empfängt der Controller die Zeichen nicht richtig.
Irgendeine Idee, was ich falsch machen könnte?
Edit: Sieht so aus, auf der neuen Seite sind Daten nicht durcheinander, aber es ist doppelt codiert. Ich kann nicht verstehen, warum es doppelt kodiert ist.
Edit 2: Wenn ich das Formular anstelle von Post ändern, funktioniert alles perfekt. Ich habe keine Ahnung, was Post bricht.
Viele verknüpfte Probleme, aber echtes Problem war mit Filter Reihenfolge in web.xml –