[英]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.