繁体   English   中英

Spring Boot 编码/特殊字符

[英]Spring Boot encoding / special characters

我对 Spring boot REST API 特殊cs_CS字符的编码有疑问

例子:

@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
ěščřžýáíéúů

结果在浏览器中:

结果

应用程序属性:

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

操作系统 Windows 10 1909。

PS:如果我创建文件 test.html ->

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

结果在浏览器中:

结果

我找到了解决方案

只需要在 Spring MVC 中强制使用 UTF-8 编码返回字符串:

@RequestMapping ,使用:

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

暂无
暂无

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

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