servlets und character encoding

xardias

Mitglied
Guten Tag,

ich arbeite mit Java Servlets und stehe gerade vor einem kleinen Problem.
Ich versuche die Servlet Ausgabe komplett in UTF-8 zu halten. Ich habe das Eclipse Projekt auf UTF-8 eingestellt, und testweise einfach mal ein paar Umlaute im Serlvet Code ausgeben lassen. Jedoch kommen nur "?" statt der Umlaute an. Die Source Codes sind UTF-8, was ich mit einem anderen Editor (scite) überprüft habe.

Eine kurze Zusammenfassung wie ich meinen Writer zum ausgeben erzeuge:
Code:
 TagWriter out = new TagWriter( httpResponse.getOutputStream() );
 [...]
 	public TagWriter(OutputStream out)
 	{
 		PrintWriter writer = new PrintWriter(out);
 		[...]
 	}
über diesen erzeugten PrintWriter gebe ich Umlaute aus. Ich habe schon versucht per response.setCharacterEncoding das Ecnoding auf UTF-8 umzustellen, jedoch ohne Erfolg.

Muss ich da noch was anderes beachten?

Dennis
 
Versuchs mal mit dem Encoding ISO-8859-1

Bin mir nicht ganz sicher ob die Umlaute so in dieser Form in UTF-8 stecken.

Gruß

Romsl
 
Eigentlich sollten sie in dem Encoding stecken. Und ich wollte UTF-8 eigentlich gerade desshalb verwenden, da es die meisten Character Encoding Kompatibilitätsprobleme behebt. Man wrd das doch umstellen können, oder?
 
Hallo!

Code:
/**
  * 
  */
 package de.tutorials;
 
 import java.io.IOException;
 import java.io.PrintWriter;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 /**
  * @author Tom
  * 
  */
 public class ExampleServlet extends HttpServlet {
 	protected void doGet(HttpServletRequest request,
 			HttpServletResponse response) throws ServletException, IOException {
 		response.setHeader("Content-Encoding", "ISO-8859-1");
 		response.getWriter().println("ÄÜÖ");
 	}
 }

Gruß Tom
 

Neue Beiträge

Zurück