Warum ist UTF-8 codiert chars nicht richtig angezeigt werden, die auf remote-Maschine nur

Wenn ich diese Webseite, die physisch als UTF-8 kodiert und hat sich UTF-8 als der angegebene Zeichensatz auf meinem PC (mit firefox) es keine Zeichen angezeigt werden, müssen codiert werden, mit mehreren bytes richtig wie das ö in Björk, klicken Sie bitte auf den link und öffnen Sie dann die B-Abschnitt zu sehen, was ich meine

http://www.jthink.net/songkong/reports/FixSongsReport00084/FixSongsReport00084_index.html

(Die Seite ist gehostet auf einem linux-server mit jakarta-tomcat)

Jedoch die original-Datei zeigt vollkommen in Ordnung, im Firefox beim speichern als Datei auf meiner Festplatte. Ich habe sogar kopiert die Datei wieder von der remote-site auf meinen lokalen PC zu esure hatte die gleiche Datei, und es zeigt noch okay.

So kommen, wie es nicht angezeigt, ok, auf der website, könnte es ein tomcat problem ?

BEARBEITEN
In dem Kommentar auf die erste Antwort sagt es ich brauche, um sicherzustellen, dass ich brauche, um die Antwort encoding richtig, wie mache ich das - die html-Seite nicht generiert code tomcat ist nur der Bereitstellung der Seite wie

Note, die ich nicht zu analysieren uri-Parameter als utf8, und ich möchte nicht, dass die jsp-Seiten, die ich erstellt, codiert in UTF8, diese Arbeit Strafen, wie ISO-8859-1 und können brechen, wenn ich diese ändern. Ich will einfach nur .html-Seiten angezeigt werden als UTF8 , und nur für diese Anwendung, ich habe mehrere Anwendungen im webapps-Ordner und ich bin mit Tomcat 7

BEARBEITEN

So wie bereits in der Antwort unten habe ich Hinzugefügt, um meine web.xml Datei

 <filter>
    <filter-name>CharacterEncoding</filter-name>
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<mime-mapping>
  <extension>html</extension>
  <mime-type>text/html;charset=UTF-8</mime-type>
</mime-mapping>

und das hat irgendwie funktioniert, die url wird jetzt korrekt angezeigt, aber der link funktioniert nicht.

Wenn ich einen Blick auf die Quelle, es scheint mit dem richtigen link, aber die Fehlermeldung zeigt es als eine erweiterte notation eher als UTF8.

Ihr den gesamten Bericht, so können Sie klicken Sie auf den link in der linken Seite und sehen das Ergebnis in der rechten Seite

http://www.jthink.net/songkong/reports/FixSongsReport00084/FixSongsReport00084.html

Selbst wenn ich den link kopieren und einfügen funktioniert nicht, da der link scheint thats eingefügt bekommen ist falsch, obwohl es dann korrigiert sich

  • Sie können <meta contentType="text/html; charset=UTF-8"/> als wenn Sie wollen zu setzen .html-Seiten auf UTF-8
  • Ich schon tun, bitte siehe Quelle
  • meta-tags für die HTTP-Variablen ignoriert werden, wenn die Seite über serviert http:// aus einem realen webserver statt file:// von der lokalen Festplatte die Datei-system. Stattdessen sind die tatsächlichen HTTP-response-Header sind verwendet worden. Jeder selbst respektiert web-Entwickler sollten das wissen.
  • wir danken Ihr für das.. so wie die response-encoding-header ist ISO-8859-1 änderung der Zeichenkodierung in der .html ist nicht wirklich möglich
  • Wenn man sich den thread habe ich vorgeschlagen, Sie können ändern Sie den ContentType für html-Dateien für eine bestimmte Webanwendung (mit dem mime-Zuordnungen). Für jsps, sollten Sie die Zeichencodierung in der jsp selbst wenn Sie etwas anderes als der Standardwert.
  • Sie können auch versuchen, speichern Sie Ihre html-Dateien in ISO-und Sie werden arbeiten, ohne änderung der tomcat-Konfiguration.
  • Das wird nicht funktionieren, denn Sie müssen in UTF-8, wie einige Charaktere verwenden Zeichen, die nicht kodiert werden kann, als ISO-8859-1

InformationsquelleAutor Paul Taylor | 2013-09-19
Schreibe einen Kommentar