使用restTemplate返回数据有中文乱码问题

对于restTemplate的使用,原来也写过一些简单的使用记录,只不过只是对它的简单请求数据,然后返回数据,没有什么特殊(转码)的情况,突然遇到特殊情况,一下搞得心态也乱码

 

 

 使用在线工具,确定使用的是GBK编码,只是对于使用restTemplate不精的我,搜了很多方式竟然都不起作用,不知不觉发现,原来解决方法很多,只是适合自己情况的只有那么一种,还是直接献上搜索到的适合自己的解决方法,不一定都适合,根据实际情况为准。

List> httpMessageConverters = restTemplate.getMessageConverters();
        httpMessageConverters.stream().forEach(httpMessageConverter -> {
            if(httpMessageConverter instanceof StringHttpMessageConverter){
                StringHttpMessageConverter messageConverter = (StringHttpMessageConverter) httpMessageConverter;
                messageConverter.setDefaultCharset(Charset.forName("GBK"));
            }
        });

 一般情况都是UTF-8,这是特例。以下是restTemplate的默认编码:

使用restTemplate返回数据有中文乱码问题_第1张图片

 使用restTemplate返回数据有中文乱码问题_第2张图片

你可能感兴趣的:(springBoot)