springboot 使用jsp向后台传值中文变成问号

新手上路,请多包涵

当时用jsp向后台传数据的时候返回的中文全都变成问号,使用的框架是springboot

阅读 3.5k
1 个回答
新手上路,请多包涵

首先你加上如下的properties配置

spring:
  http:
    encoding:
      charset: UTF-8
      enabled: true
      force: true
# tomcat
server:
  tomcat:
    uri-encoding: UTF-8

然后向Spring注册一个自定义的StringHttpMessageConverter用于转码
在springboot中加上如下代码(基于Springboot2)

@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {

    @Bean
    public HttpMessageConverter<String> responseBodyConverter() {
        return new StringHttpMessageConverter(Charset.forName("UTF-8"));
    }

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(responseBodyConverter());
        addDefaultHttpMessageConverters(converters);
    }

    @Override
    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
        configurer.favorPathExtension(false);
    }

}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题