2016-04-22 7 views
0
in einer anderen Sprache als Englisch Texte von DB anzuzeigen

Ich habe den folgenden Code in meinem JSPJSP nicht

... <% 
    out.println(request.getAttribute("textFromDB")); %> ... 

Wenn die JSP heißt es Fragezeichen nur druckt (???? ..) anstelle des eigentlichen Textes in einer MySQL-Datenbank, die nicht auf Englisch ist. Was kann ich tun, damit der Text korrekt angezeigt wird? Ich habe versucht, den Zeichensatz und pageEncoding in UTF-8 zu ändern, aber es hat nicht geholfen.

Antwort

0

Ist die Codierung nicht nett? Leider ist es schwer zu sagen, wo es falsch läuft: Ihre Datenbank könnte in einem anderen Zeichensatz als UTF-8 gespeichert werden. Oder Ihr Datenbanktreiber ist möglicherweise so konfiguriert, dass er in einer anderen Kodierung funktioniert. Oder Ihr Server ist standardmäßig auf einen anderen Server eingestellt. Oder Ihre HTTP-Verbindung nimmt eine andere Codierung an und Ihr Zeichensatzwechsel kommt zu spät.

Sie müssen durch alle diese Schichten gehen - und denken Sie daran, dass alles gut aussehen könnte und es waren die längst vergangenen Schreiboperationen in Ihrer Datenbank, die bereits die Daten irreparabel durcheinander brachten.

+0

Wenn ich System.out.println schreibe (...) druckt es den Text wie ich will, aber im Browser Nr. Wo soll ich nach dem Problem suchen? –

0
System.out.println(this.request.getHeader("Content-Encoding")); //check the content type 

String data = new String(this.request.getParameter("data").getBytes("ISO-8859-1"), "UTF-8"); //this way it is encoded to byte and then to a string 

wenn das obige Verfahren didnt Sie mit dem database überprüfen könnte funktionieren will, wenn es characters to "UTF-8"

kodieren oder

können Sie URIEncoding konfigurieren = "UTF-8" in Ihrem Kater Setup und nur (request.getAttribute("textFromDB")); den Rest erledigen.

+0

this.request ... gibt Fehler request.getHeader (..) gibt null zurück. –

+0

Nun gibt der get-Header den MIME-Typ des Hauptteils der Anfrage zurück, oder null, wenn der Typ nicht bekannt ist. – Priyamal