2009-03-25 13 views
1

habe ich eine statische jsp Seite mit einem Bild, dessen src wird auf num% C2% B2.jpg (tatsächlicher Name des Bildes ist num² .jpg) aber apache ist nicht in der Lage, das Bild zu lokalisieren ..JSP - diplaying Bilder mit src "num% C2% B2.jpg"

ich für eine Beispielanwendung gegoogelt und fand ein Bild Galerie- https://jgallery.dev.java.net/ aber auch diese Anwendung Pausen für num².jpg

was könnte das problem sein?

Antwort

1

Ich musste URIEncoding = „UTF-8“ in Anschluss Einstellung in server.xml unter Apache Tomcat hinzufügen

+0

Das ist richtig. – BalusC

0

Wie Sie sehen können, die ² hat als zwei Zeichen codiert worden - % C2% B2. Dies bedeutet, dass Sie wahrscheinlich den Dateinamen in Unicode codieren. Sie müssen sicherstellen, dass, wenn Sie die Datei aus dem Dateisystem zurücklesen, auch Unicode verwendet wird.

Ich bin kein Java-Programmierer, so weit ich Ihnen helfen kann, aber es scheint definitiv ein Problem mit der Codierung. Sie könnten versuchen, es in ASCII zu konvertieren, bevor Sie es codieren ...

Ein schneller Test wäre, "num% B2.jpg" in Ihre Adressleiste zu setzen und zu sehen, ob es funktioniert.

+0

Ich brauche Bilder mit arabischen und chinesischen Schriftzeichen für Ihre Hilfe obwohl auch Dank der Unterstützung :) – Jags

1

Verwenden Sie <@page encoding> Tag (oder <% response.setCharacterEncoding%> in) Ihre JSP, um die Codierung in Latin 1 oder was auch immer Ihre Apache erwartet ändern.

Dies kann jedoch einige andere Zeichen auf Ihrer Seite (außerhalb des ausgewählten Zeichensatzes) unterbrechen.

EDIT: Oder, URL-Encodieren Sie Ihre URL, bevor Sie es in die JSP einfügen. java.net.URLEncoder oder JSTL <c:url> könnte dazu verwendet werden.

+0

versucht das ... aber auch das hat nicht funktioniert Ich musste hinzufügen URIEncoding = "UTF-8" in connector setting in server.xml dies löste das Problem..aber hob ein anderes..Ich kann nicht immer die Umgebung kontrollieren was meine Anwendung läuft .. – Jags

Verwandte Themen