简体   繁体   English

Spring Boot 编码/特殊字符

[英]Spring Boot encoding / special characters

I have issue with encoding of Spring boot REST API special cs_CS characters.我对 Spring boot REST API 特殊cs_CS字符的编码有疑问

Example:例子:

@ResponseBody
@RequestMapping("/api/test")
public String test(){
    String specialCH = "ěščřžýáíéúů";
    System.out.println(specialCH);

    return specialCH;
}


2020-11-16 11:22:04.557  INFO 7400 --- [           main] cz.fry.chmi.ChmiApplication              : Started ChmiApplication in 5.187 seconds (JVM running for 5.703)
2020-11-16 11:22:05.167  INFO 7400 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-11-16 11:22:05.168  INFO 7400 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-11-16 11:22:05.175  INFO 7400 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 7 ms
ěščřžýáíéúů

Result in browser:结果在浏览器中:

result结果

application.properties:应用程序属性:

server.servlet.encoding.charset=UTF-8
server.servlet.encoding.force=true

OS Windows 10 1909.操作系统 Windows 10 1909。

PS: If I create file test.html -> PS:如果我创建文件 test.html ->

+ěššččřřžýáíéáý

Result in browser:结果在浏览器中:

result结果

I found solution我找到了解决方案

Just need force UTF-8 encoding in Spring MVC returning String:只需要在 Spring MVC 中强制使用 UTF-8 编码返回字符串:

In @RequestMapping , use:@RequestMapping ,使用:

produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM