UTF-8-Codierungsproblem in Spring MVC
Ich hab einen Spring MVC Bohne und ich würde gerne zurückkehren türkischen Charakter durch die Einstellung der Zeichencodierung UTF-8. aber obwohl mein string ist "şŞğĞIıçÇöÖüÜ" es gibt"??????çÇöÖüÜ". und auch wenn ich mir bei der Antwort-Seite, die internet-explorer-Seite, Codierung western european iso, nicht UTF-8.
Hier ist der code:
@RequestMapping(method=RequestMethod.GET,value="/GetMyList")
public @ResponseBody String getMyList(HttpServletRequest request, HttpServletResponse response) throws CryptoException{
String contentType= "text/html;charset=UTF-8";
response.setContentType(contentType);
try {
request.setCharacterEncoding("utf-8");
} catch (UnsupportedEncodingException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
response.setCharacterEncoding("utf-8");
String str="şŞğĞİıçÇöÖüÜ";
return str;
}
InformationsquelleAutor der Frage ysnky | 2011-04-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich es herausgefunden, können Sie zur Anfrage hinzufügen mapping erzeugt wird = "text/plain;charset=UTF-8"
dieser blog-post für weitere details auf die Lösung
InformationsquelleAutor der Antwort Charlie Wu
in Ihrem dispatcher-servlet-context-xml, die Sie haben, um eine propertie
"<property name="contentType" value="text/html;charset=UTF-8" />"
auf Ihre viewResolver bean.wir sind mit freemarker für Ansichten.
es sieht wie folgt aus:
InformationsquelleAutor der Antwort aki
Konvertieren der JSON-string nach UTF-8 auf Ihrem eigenen.
InformationsquelleAutor der Antwort rwitzel
Gibt es einige ähnliche Fragen: Spring MVC response-encoding-ProblemBenutzerdefinierte HttpMessageConverter mit @ResponseBody zu tun Json Dinge.
Jedoch meine einfache Lösung:
und der Blick html_utf8.jsp
Keine zusätzlichen Klassen und Konfiguration.
Und Sie können auch eine andere Ansicht (zum Beispiel json_utf8) für andere Inhalte geben.
InformationsquelleAutor der Antwort Trung
Ich habe dieses Problem behoben, indem Herleitung der erzeugte return-Typ in der ersten BEKOMMEN, requestMethod. Der wichtige Teil hier ist die
Also jeder wie verwenden /account/** Frühling Rückkehr application/json;charset=UTF-8 content-Typ.
So, Sie müssen nicht eingerichtet werden für jede Methode in dem Controller, die Sie tun können, es für die gesamte Klasse. Wenn Sie mehr Kontrolle über eine bestimmte Methode, Sie einfach nur zu schließen, die produziert return Inhalt geben.
InformationsquelleAutor der Antwort miguel.angel
Auch hinzufügen, um Ihre Bohnen :
Für @ExceptionHandler :
Wenn Sie
<mvc:annotation-driven/>
sollte es nach Bohnen.InformationsquelleAutor der Antwort Yura_dan
Wenn du mit Spring MVC version 5 Sie können die Codierung auch mit der
@GetMapping
annotation. Hier ist ein Beispiel, das setzt den content type für JSON und auch die Kodierung UTF-8:Mehr Informationen auf der @GetMapping Anmerkung hier:
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/GetMapping.html
InformationsquelleAutor der Antwort gil.fernandes