在使用springboot的时候,如果我们直接在控制器里面返回中文, 则默认可能会是乱码,因为默认的编码是ISO8859-1, 要解决这个问题, 就需要我们通过重写springboot里面的configureMessageConverters方法来将默认的编码设置为utf-8即可解决, 当然你的类文件编码也必须要是utf-8的, 不然的话你重写了转换器也没用!
springboot消息转换器重写代码如下:
package cn.tekin.config;import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;import java.nio.charset.Charset;
import java.util.List;@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {// 增加默认转换器super.configureMessageConverters(converters);//addDefaultHttpMessageConverters(converters);// 增加自定义的转换器converters.add(new StringHttpMessageConverter(Charset.forName("utf-8")));}
}
这里其实就是我们自定义了一个消息转换器, 然后通过springboot的自动配置覆盖了springboot默认的消息转换器, 因为springboot里面使用了一个 deferredimprotSelector 这个东西会将SpringBoot的自动配置类的顺序在最后, 从而给我们重写配置类来覆盖默认配置类提供了方便.
文件编码查看
IDEA默认编码配置
查看某个网页的默认响应编码的方法:
在地址栏输入网址,然后打开开发者工具, 在网络里面选择需要查看的URL地址, 然后查看响应标头即可查询某个网页的响应编码.