我是在调用微信的API 的时候发现微信给我返回的用户数据不能够正常显示昵称,昵称都是乱码。
//修改RestTemplate的编码格式为UTF-8
RestTemplate restTemplate = new RestTemplate();
List<HttpMessageConverter<?>> httpMessageConverters = restTemplate.getMessageConverters();
httpMessageConverters.stream().forEach(httpMessageConverter -> {
if(httpMessageConverter instanceof StringHttpMessageConverter){
StringHttpMessageConverter messageConverter = (StringHttpMessageConverter) httpMessageConverter;
messageConverter.setDefaultCharset(Charset.forName("UTF-8"));
}
//发送请求
String jsonStr = restTemplate.getForEntity(url, String.class).getBody();
上面的代码中很简单的写出来了,直接自己分装成一个方法就好。这样就解决了中文的乱码问题了