RestTemplate乱码的问题 @Arthur

      RestTemplate的Http请求机制一直在用,但从没有深究过,今天使用它的postForEntity方法发送xml片段时(动态创建栅格图层),出现了乱码问题。

       和安娜讨论,发现以下情况:

      1、通过HttpHeaders的setContentType(“applicaiton/json;charset=UTF-8”)方法,约定字符。它是按照Http协议的要求,向服务器声明发送的json字符集的。

       2、在这样的设置情况下,用RestTemplate时可能还会发生乱码,其原因是RestTemplate有一系列HTTP消息转换器(HttpMessageConverter)。这个消息转换器集合中第1个消息转换器StringHttpMessageConverter,它默认字符集是“ISO-8859-1”。所以当我们发送的字符流是UTF-8时,就会出乱码。

 所以处理办法是通过restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)),改变一下StringHttpMessageConverter的字符集。

 网上参考:http://blog.csdn.net/luccs624061082/article/details/40980623

猜你喜欢

转载自my.oschina.net/u/3756527/blog/1602984