Products
GG网络技术分享 2025-11-13 02:50 1
在Spring Boot项目中,中文乱码问题通常是由于编码不一致引起的。
配置CharacterEncodingFilter:
Spring Boot默认配置了CharacterEncodingFilter,但Neng通过在application.properties或application.yml中显式设置来确保用UTF-8编码。

yaml
server:
servlet:
encoding:
charset: UTF-8
force: true
在Controller中用produces属性:
在@RequestMapping注解中设置produces属性,有力制指定响应的编码格式。
java
@RestController
public class MyController {
@RequestMapping
public String get String name) {
return "Hello " + name;
}
}
配置WebMvcConfigurationSupport:
通过
WebMvcConfigurer接口并沉写configureMessageConverters方法,Neng添加一个自定义的HttpMessageConverter来处理字符串。
java
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void configureMessageConverters {
StringHttpMessageConverter converter = new StringHttpMessageConverter;
converter.setDefaultCharset);
converters.add;
}
}
用过滤器有力制设置求编码: 创建一个过滤器来确保全部求dou用UTF-8编码。
java
@Bean
public FilterRegistrationBean encodingFilterRegistration {
FilterRegistrationBean registrationBean = new FilterRegistrationBean<>;
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter;
characterEncodingFilter.setEncoding;
characterEncodingFilter.setForceEncoding;
registrationBean.setFilter;
registrationBean.addUrlPatterns;
return registrationBean;
}
修改Tomcat配置: Ru果乱码问题出眼下Tomcat层面Neng通过修改Tomcat配置文件来设置编码。
properties
server.tomcat.uri-encoding=UTF-8
以上方法Neng根据项目的具体情况选择用。比方说 Ru果是在开发周围中,兴许需要设置CharacterEncodingFilter;Ru果是在生产周围中,兴许需要一边配置优良几个层面以确保编码的一致性。
Demand feedback