SpringBoot的编码方式
方式1.使用配置文件的方式对字符进行编码
1.第一种方式:
在配置文件中(properties或者yaml文件中均可)添加:
server.servlet.encoding.enable=true
但是现如今的许多程序已经弃用了这种写法
2.第二种方式:
server.servlet.encoding.charset=UTF-8;
server.servlet.encoding.force=true
方式2.使用传统的spring提供的字符编码过滤器:
@Configuration//说明该类是一个配置类 public class CharacterConfig { @Bean public FilterRegistrationBean filterRegistrationBean(){ //创建SpringWeb提供的字符编码过滤器,主要实现字符编码过滤 CharacterEncodingFilter filter = new CharacterEncodingFilter(); filter.setForceEncoding(true);//强制对请求的编码, filter.setEncoding("GBK");//使用GBK编码 FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); filterRegistrationBean.setFilter(filter); filterRegistrationBean.addUrlPatterns("/*"); return filterRegistrationBean; } }
因为对字符编码的过滤器在框架中已经有了,我们不需要再重新写了,直接进行配置类的实现即可。而且这种方式能够实现的方式需要在配置文件中的server.servlet.encoding.enable的值为false时才会生效。