SpringBoot的编码方式

发布时间 2023-12-26 20:16:33作者: 强仔123

 

方式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时才会生效。