JSP/GlassFish: zum einrichten der UTF-8-Codierung korrekt
Ich bin auf der Suche nach Hilfe, um all meine Schichten in dem Stapel auf UTF-8-Codierung.
Fand ich diesen schönen Artikel:
http://www.javapractices.com/topic/TopicAction.do?Id=206
Beschreibung der 3 Orte, die ich brauchen, um über die Codierung. Da mein (1) Oracle-Datenbank wird derzeit auf UTF-8 eingestellt, das lässt die (2) browser und (3) server zu kümmern.
Fand ich auch diesen ausführlichen Artikel
http://balusc.blogspot.com/2009/05/unicode-how-to-get-characters-right.html#JSPServletRequest
denen ich versuche zu Folgen unten, aber mit einige newbie Fragen zur Umsetzung.
Zur Adresse, den browser, den ich gemacht habe, sicher, dass die folgenden am Anfang jeder JSP-Seite:
<%@page pageEncoding="UTF-8"%>
(Referenz, siehe hier).
Adressieren Sie den server, ich stellte sicher, dass die folgende Zeile in der Java-servlet-und JSP-Seiten vor der Erteilung einer request.getParameter()
oder request.getAttribute()
Aussage:
request.setCharacterEncoding("UTF-8");
Da bin ich mit GlassFish 3.1.2, ich verstehe es nicht verwenden standardmäßig UTF-8, so dass ich brauche, um es manuell irgendwie.
Ich habe gesehen eine Menge von websites, die Rede von einer Datei namens glassfish-web.xml
. Ist dies Teil der normalen glassfish installieren? Ich weiß nicht, wo es zu finden ist. Ich habe mit der web.xml
Datei in meinem WEB-INF
Ordner für meine web-Anwendung. Könnte jemand mir helfen herauszufinden, ob ich brauche, dies zu ändern web.xml
Datei, oder muss ich die suchen oder erstellen Sie eine neue Datei mit dem Namen glassfish-web.xml
konfigurieren Sie die Codierung für glassfish?
Meine web.xml
- Datei beginnt mit:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
...
Für die JSP/servlet-Anfrage habe ich die folgende Zeile in die web.xml
Datei
<parameter-encoding default-charset="UTF-8"/>
Ist OK, um in das web.xml
- Datei? Oder, muss es gehen in einigen glassfish-web.xml
- Datei?
Für die JSP/servlet-Antwort, ich habe die folgenden in meinem web.xml
- Datei (siehe akzeptierte Antwort hier):
<jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <page-encoding>UTF-8</page-encoding> </jsp-property-group> </jsp-config>
Gehe ich davon aus dass diese Zeilen nur einfügen zwischen <web-app>
und </web-app>
. Aber, lassen Sie mich wissen, wenn Sie sollte stattdessen gehen in einigen anderen Deskriptor (wie <glassfish-web-app>
und </glassfish-web-app>
)?
Außerdem habe ich Folgendes in der JSP <head>
Abschnitt:
<meta http-equiv="content-type" content="text/html; charset=utf-8">
Nützliche Hinweise:
Wie loswerden der WARNUNG: PWC4011: kann Nicht festgelegt Anfrage Zeichenkodierung auf UTF-8
https://stackoverflow.com/tags/servlet-filters/info
https://wikis.oracle.com/display/GlassFish/FaqHttpRequestParameterEncoding
InformationsquelleAutor user46688 | 2014-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
glassfish-web.xml
ist eine Datei, die Sie erstellen können, IhreWEB-INF
Ordner. Für Glassfish 3.x es muss in etwa so Aussehen:Haben Sie Recht -, den parameter-encoding-Einstellung in dieser Datei und nicht in der
web.xml
🙂Siehe auch:
web.xml
UNDglassfish-web.xml
)? Auch muss ich konfigurieren, GlassFish auf die Suche nachglassfish-web.xml
Datei nach dem ich es schaffen, oder wird GlassFish automatisch finden?Die glassfish-web.xml ist nicht wirklich erforderlich, wenn Sie nicht haben, um es für einige Glassfish-spezifische Konfiguration Eigenschaften wie die Standard-Codierung. Die Datei wird automatisch gescannt, wenn Sie in das WEB-INF-Ordner, stellen Sie sicher, Sauber & Erstellen Sie Ihr Projekt, bevor die erneute Bereitstellung 🙂
Oh sorry, ich vergaß, dass dies auch erforderlich ist. Ich aktualisiert meine Antwort.
InformationsquelleAutor unwichtich