UTF-8-Kodierung in Java-Webanwendungen abrufen
Problem: UTF-8-Kodierung implementieren, um nicht-lateinische Sprachen zu unterstützen Zeichen für Text und spezifisch Alphabete.
Umgebung:
- Entwicklung: Windows XP
- Produktion: Debian
- Datenbank: MySQL 5.x
- Browser: Firefox2, Opera 9.x, FF3, IE7, Google Chrome
Lösung:
-
Konfigurieren Sie Tomcats server.xml:
- Aktivieren Sie die UTF-8-Codierung für GET-Parameter:
-
CharsetFilter:
-
JSP-Seitenkodierung:
- Geben Sie die Kodierung für JSP-Seiten an web.xml oder fügen Sie jeder Seite das folgende Meta-Tag hinzu:
-
JDBC-Verbindung:
- Verwenden Sie ?useEncoding=true&characterEncoding =UTF-8 im Anschluss URL.
-
MySQL-Datenbank und -Tabellen:
- Datenbank und Tabellen mit DEFAULT CHARACTER SET=utf8 erstellen COLLATE=utf8_swedish_ci.
-
MySQL-Serverkonfiguration:
- Setzen Sie den Standardzeichensatz=utf8 in my.ini (Windows) oder my.cnf (Linux).
-
MySQL-Prozeduren und -Funktionen:
- Geben Sie den UTF-8-Zeichensatz explizit an, z. B.:
FUNKTION ERSTELLEN ... Gibt den Textzeichensatz zurück utf8
Verarbeitung von GET-Anfragen:
- Standardmäßig sind URLs in Latin1 codiert, was zu Problemen mit Nicht-ASCII führt Zeichen.
- Um dies zu beheben, definieren Sie die URL-Kodierung in server.xml als UTF-8.
- Weisen Sie Browser an, Seiten in UTF-8 mithilfe von Meta-Tags und Anforderungsheadern zu lesen.
UTF-8 vs. Latin1 in GET-Anfragen:
- POST-Anfragen werden in UTF-8 codiert von Browser.
- Bei GET-Anfragen sind einige Zeichen möglicherweise immer noch in Latin1 codiert, obwohl die Seite als UTF-8 definiert ist. Dies führt zu einer gemischten Codierung, wodurch es für die Webanwendung schwierig wird, Anforderungsparameter korrekt zu verarbeiten.
Referenzen:
- http://tagunov.tripod.com/i18n/i18n.html
- http://wiki.apache.org/tomcat/Tomcat/UTF-8
- http://java.sun.com/developer/technicalArticles/Intl/HT TPCharset/
- http://dev.mysql.com/doc/refman/5.0/en/charset-syntax.html
- http://cagan327.blogspot.com/2006/05 /utf-8-encoding-fix-tomcat-jsp-etc.html
- http://cagan327.blogspot.com/2006/05/utf-8-encoding-fix-for-mysql-tomcat.html
- http://jeppesn.dk/utf- 8.html
- http://www.nabble.com/request-para meter-mishandle-utf-8-encoding-td18720039.html
- http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/iso_table.html
- http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/iso_table.html
http://www. utf8-chartable.de/
Das obige ist der detaillierte Inhalt vonWie implementiert man die UTF-8-Codierung richtig in einer Java-Webanwendung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!