当前位置: 代码迷 >> 综合 >> 笔记:关于Springboot,Controller返回中文乱码问题
  详细解决方案

笔记:关于Springboot,Controller返回中文乱码问题

热度:42   发布时间:2024-02-10 11:37:33.0

解决在controller直接返回string类型时所出现的乱码

1.先看自己的开发环境字符集是否正常

2.查看工程字符集是否正常

以上都ok,但是还是返回乱码,于是去找适合的解决方案:

方案1:@RequestMapping(value = "/use", produces = "application/json;charset=utf-8")

直接在请求路径上面添加 produces,亲测是可以解决问题的。一个controller还好,数量多了,这个方法就不靠谱了

方案2:新增config在自定义拦截器上指定字符集:

@Configuration
public class MyInterceptorConfig extends WebMvcConfigurationSupport{
@Override
protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
// 解决controller返回字符串中文乱码问题
for (HttpMessageConverter<?> converter : converters) {
if (converter instanceof StringHttpMessageConverter) {
((StringHttpMessageConverter)converter).setDefaultCharset(StandardCharsets.UTF_8);
}
}
}   
}

成功解决,至于原理,再慢慢研究。。。。

  相关解决方案