SpringBoot返回中文乱码问题解决方法汇总
前言
SpringBoot中文乱码问题时常发生,但是每次都是找到一种奇怪的解决办法解决了之后就不理睬了,但是下次发生乱码的时候又要找来找去,找一种适合自己的解决办法,我今天又遇到了一
种奇怪的现象,很生气于是有了这一片汇总记录,记录几种常见的可以解决乱码问题的方式。
1、配置CharacterEncodingFilter
SpringBoot默认会帮我们配置好基本的CharacterEncodingFilter,不过为了保险起见
①可以在yaml、properties文件中再次配置
#父子结构 通过:进行分割,value与:中间一定要加入 空格 server.port:10086 #设置utf-8,防止中文乱码 server.servlet.encoding.charset:UTF-8 server.servlet.encoding.enabled:true server.servlet.encoding.force:true #自定义book属性 book.name:牧神记 book.number:10000
②也可以自己在Configuration类中创建一个用自己的CharacterEncodingFilter
@Configuration public class MyConfiguration extends WebMvcConfigurationSupport { @Bean public CharacterEncodingFilter characterEncodingFilter(){ CharacterEncodingFilter filter = new CharacterEncodingFilter(); filter.setEncoding("UTF-8"); filter.setForceEncoding(true); return filter; } }
2、在RequestMapping上添加produces
@RestController public class TestController { @Value("${book.name}") private String name; @Value("${book.number}") private String number; //防止中文乱码 @RequestMapping(value = "/getBook",produces = "application/json;charset=utf-8") public String getBook(){ return name + number; } }
3、读取properties文件错误
4、pom.xml中配置properties
<properties> <!-- 与1.8配置在一起,设置编码集--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties>
输出结果展示:
总结
到此这篇关于SpringBoot返回中文乱码问题解决方法的文章就介绍到这了,更多相关SpringBoot返回中文乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
PostMan如何传参给@RequestBody(接受前端参数)
这篇文章主要介绍了PostMan如何传参给@RequestBody(接受前端参数),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10
最新评论