Wie set encoding in RESTeasy auf UTF-8?

Ich habe ein problem mit der Kodierung von Zeichenfolgen in RESTeasy. Das problem ist, dass die chinesischen alphabet oder anderen nicht-lateinischen Zeichen werden nicht richtig angezeigt. Wenn ich versuche, drucken Sie Sie aus (oder senden Sie als Antwort) bekomme ich "?????" statt.
Ich glaube, dass die Standard-Kodierung in RESTeasy ist us-ascii. Wissen Sie, wie es zu ändern auf UTF-8? Vielleicht gibt es eine andere Lösung für dieses problem?

Hier ist eine kurze passage aus meinem code:

@POST
@Path("post")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public String uploadData(@MultipartForm DataUploadForm uploadForm) {

...

//the code below is just for the purpose of presentation

String text = "some non-latin alphabet signs here"
System.out.println(text);  //"??????" is printed out

return text; //"??????" is returned
}

Meine resteasy-jaxrs-3.0-beta-2 läuft auf Tomcat 7.0.

Danke!

  • Sollte es einen @Produces Anmerkungen über? (Es könnte auch in der Klasse.)
  • Danke, ich werde es versuchen, aber ich Frage mich, ob diese Anmerkung beeinflusst, was in der Methode (vor dem erzeugen der Ausgabe)? In anderen Worten, kann es System.aus.println Anzeige richtige Zeichen?
  • Wenn die System.out.println() Codierung ist Ihre einzige wirkliche problem ist, dann benötigen Sie grundsätzlich, um ihn zu konfigurieren in der Seite des einen verantwortlich für die Präsentation der Ausgabe auf stdout. Wenn es zum Beispiel Eclipse, dann den Kopf auf diese Antwort: stackoverflow.com/questions/13452324/... Beachten Sie, dass dies nichts zu tun mit Tomcat/Servlets/JAX-RS/RESTeasy.
InformationsquelleAutor Wojtek | 2013-02-04
Schreibe einen Kommentar