Frage

Ich habe einige Probleme mit der Internationalisierung:

Meine UTF-8-String-Felder werden im Browser als ???? gerendertnach Rückgabe aus der Datenbank.

Nach dem Abruf aus der Datenbank mit Hibernate werden die String-Felder bei der Überprüfung mit dem Eclipse-Debugger korrekt dargestellt.

Allerdings rendert Struts2/Tiles diese Zeichenfolgen als ????im HTML, das an den Browser gesendet wird.

Die charset-Direktive ist im HTML-Header vorhanden:

Vielleicht muss ich meinen Struts2- oder Tiles-Konfigurationen etwas hinzufügen?

War es hilfreich?

Lösung

Sie könnte so etwas wie dies versuchen.

Es ist aus Sonnenseite auf Zeichensätze und Kodierungen . Ich denke, dies ist die erste Zeile in der jsp sein muss.

<%@ page contentType="text/html; charset=UTF-8" %>

Andere Tipps

OMG - es stellt sich heraus, dass die Ursache insgesamt WTF war

alle unsere Fliesen Antworten wurden von einem homegrown Servlet bedient, die die

ignorierte

<%@ page contentType="text/html; charset=UTF-8" %>

Richtlinie (und wer weiß, was sonst).

TilesDispatchExtensionServlet: bloody Architektur Astronauten, ich schüttle meine Faust auf sich

.

Versuchen Sie, die lang Attribut Einstellung auf dem Element.

HTML-Beispiel:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja"> 

XHTML-Beispiel:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> 

Sie benötigen einen Filter zu verwenden. Siehe auch:

http://wiki.apache.org/tomcat/Tomcat/UTF-8

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top