Codierung in JSF 2 + Tomcat 7
Ich habe ein Formular mit nur einem Feld. Wenn ich das Formular Absenden, wird der Wert meines Feldes wird seltsam. Das Wort Extremação wird Extremação.
So, ich bereits UTF-8-Codierung an jedem Ort auf meine app:
<?xml version="1.0" encoding="UTF-8"?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<f:view contentType="text/html" encoding="UTF-8">
<h:form id="formParamSupremo" prependId="false" acceptcharset="UTF-8">
Ich erstellt ein encoding-filter zu:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
Und meine http-header ist wie folgt:
host = localhost:8080
user-agent = Mozilla/5.0 (X11; U; Linux x86_64; pt-BR; rv:1.9.2.23) Gecko/20110921
user-agent = Mozilla/5.0 (X11; U; Linux x86_64; pt-BR; rv:1.9.2.23) Gecko/20110921 Ubuntu/10.04 (lucid) Firefox/3.6.23
accept = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language = pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3
accept-encoding = gzip,deflate
accept-charset = ISO-8859-1,utf-8;q=0.7,*;q=0.7
keep-alive = 115
connection = keep-alive
referer = http://localhost:8080/parametros/view/xhtml/parametrosSupremo.jsf
cookie = JSESSIONID=6DC0C1D4434FB90C3F9271D6C54DC575
content-type = application/x-www-form-urlencoded
content-length = 185
- "Das Wort Extremação wird Extremação." Wo genau werden Sie den Wert überprüfen? In der Datenbank? Oder durch
System.out.println()
in deiner IDE? Oder in eine Ergebnis-Seite im browser? Verwenden Sie JSP oder Facelets? - Sie haben Ihren Beitrag bearbeitet, aber Sie gab nicht auf jedes feedback auf meinen obigen Kommentar. Warum? Wollen Sie nicht, um uns zu helfen, um Ihnen zu helfen?
- Ich überprüfe den Wert in meiner IDE (setter-Methode). Ich bin mit facelets.
- Die IDE? Eclipse? Und wie sind Sie zu prüfen? Durch
System.out.println()
oder in der debugger-Variablen anzeigen? Wie sieht der Wert so Aussehen wie im webbrowser nach dem senden? - Ja, ich bin die Prüfung in der eclipse-debugger. Wenn das laden der Seite abgeschlossen ist, wird der Wert des Feldes ist Extremação.
- Was ist der Wert von
Content-Type
header der HTTP-Antwort? (Sie haben nur gezeigt, dass der HTTP-request-Header). Welchen browser verwenden Sie? MSIE hat ein großes problem mitacceptcharset
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe das gleiche problem.
Schließlich fand ich diesen Fehler-Lösungen. Erstellen Sie einen Filter zur Anzeige von nicht-ascIi-Zeichen. Was für eine nervige bugs 🙁
http://dertompson.com/2007/01/29/encoding-filter-for-java-web-applications/