RestTemplate请求乱码的坑

在使用RestTemplate的请求微信接口过程中发现中文乱码

因为是定制的请求,所以修改了微信的请求源码,并不是使用的微信sdk自带的get以及post请求,这里我使用的是restTemplate进行请求,发现返回的结果中如果存在中文的话,是乱码的.
于是乎翻看源码应该是String的转换时候编码出问题了,这里发现默认是ISO-8859-1的,所以要设置为UTF-8
RestTemplate请求乱码的坑_第1张图片
解决办法:在请求之前将restTemplate的默认编码改为utf-8
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
但是这只是缓兵之计,如果只使用一次可以这样,如果多次使用建议还是写一个bean在初始化的时候将编码改掉

你可能感兴趣的:(JavaWeb)