package com.qf.myafterprojecy.config; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.web.filter.CharacterEncodingFilter; import javax.servlet.Filter; import java.nio.charset.StandardCharsets; /** * 字符编码配置类 * 确保所有HTTP请求和响应都使用UTF-8编码,解决中文乱码问题 */ @Configuration public class CharacterEncodingConfig { /** * 创建字符编码过滤器 * 优先级设置为最高,确保在所有其他过滤器之前执行 */ @Bean public FilterRegistrationBean characterEncodingFilter() { // 创建字符编码过滤器 CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter(); // 设置请求编码为UTF-8 encodingFilter.setEncoding(StandardCharsets.UTF_8.name()); // 强制请求使用UTF-8编码 encodingFilter.setForceRequestEncoding(true); // 强制响应使用UTF-8编码 encodingFilter.setForceResponseEncoding(true); // 创建过滤器注册Bean FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(encodingFilter); // 设置过滤器顺序为最高优先级 registrationBean.setOrder(Ordered.HIGHEST_PRECEDENCE); // 为所有请求路径注册过滤器 registrationBean.addUrlPatterns("/*"); return registrationBean; } }