Spring 引导编码/特殊字符
Spring Boot encoding / special characters
我对 Spring 引导 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
ěščřžýáíéúů
浏览器结果:
result
application.properties:
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.force=true
OS Windows 10 1909.
PS:
如果我创建文件 test.html ->
+ěššččřřžýáíéáý
浏览器结果:
result
我找到了解决方案
只需要在 Spring MVC 返回字符串中强制使用 UTF-8 编码:
在@RequestMapping
中,使用:
produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8"
我对 Spring 引导 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
ěščřžýáíéúů
浏览器结果:
result
application.properties:
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.force=true
OS Windows 10 1909.
PS: 如果我创建文件 test.html ->
+ěššččřřžýáíéáý
浏览器结果:
result
我找到了解决方案
只需要在 Spring MVC 返回字符串中强制使用 UTF-8 编码:
在@RequestMapping
中,使用:
produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8"