解决SpringBoot乱码问题汇总
目录
解决SpringBoot乱码问题汇总
前言
1、配置CharacterEncodingFilter
2、在RequestMapping上添加produces
3、读取properties文件错误
4、pom.xml中配置properties
输出结果展示:
前言
SpringBoot中文乱码问题时常发生,但是每次都是找到一种奇怪的解决办法解决了之后就不理睬了,但是下次发生乱码的时候又要找来找去,找一种适合自己的解决办法,我今天又遇到了一
种奇怪的现象,很生气于是有了这一片汇总记录,记录几种常见的可以解决乱码问题的方式。
1、配置CharacterEncodingFilter
SpringBoot默认会帮我们配置好基本的CharacterEncodingFilter,不过为了保险起见
①可以在yaml、properties文件中再次配置
#父子结构 通过:进行分割,value与:中间一定要加入 空格server.port:10086#设置utf-8,防止中文乱码server.servlet.encoding.charset:UTF-8server.servlet.encoding.enabled:trueserver.servlet.encoding.force:true#自定义book属性book.name:牧神记book.number:10000
②也可以自己在Configuration类中创建一个用自己的CharacterEncodingFilter
@Configurationpublic class MyConfiguration extends WebMvcConfigurationSupport {@Beanpublic CharacterEncodingFilter characterEncodingFilter(){CharacterEncodingFilter filter = new CharacterEncodingFilter();filter.setEncoding("UTF-8");filter.setForceEncoding(true);return filter;}}
2、在RequestMapping上添加produces
@RestControllerpublic 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>