方法一:
//方法一:在application.properties编写如下四行
spring.http.encoding.force=true #是否将编码强制到HTTP请求和响应上配置的字符集。默认为false
spring.http.encoding.enabled=true #是否启用http编码支持。默认为false
spring.http.encoding.charset=UTF-8 #HTTP请求和响应的字符集。如果没有明确设置,就将该字符集添加到Content-Type中
server.tomcat.uri-encoding=UTF-8 #用于解码URI的字符编码。
方法二:
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.filter.CharacterEncodingFilter;
import java.nio.charset.StandardCharsets;
/**
* spring boot 解决中文乱码
*/
@Configuration
public class CharacterEncodingFilterConfig {
@Bean
public FilterRegistrationBean filterRegistrationBean() {
//用于注册过滤器
FilterRegistrationBean frb = new FilterRegistrationBean();
// 使用spring 提供的字符编码过滤器,不用自己写过滤器
CharacterEncodingFilter cef = new CharacterEncodingFilter(StandardCharsets.UTF_8.toString(),true);
frb.setFilter(cef);
return frb;
}
}
方法一和方法二一起写也是行的