Spring RestTemplate 之中文乱码
程序员文章站
2022-03-04 20:29:22
...
Spring RestTemplate 之中文乱码
由于RestTemplate的默认构造方法初始化的StringHttpMessageConverter的默认字符集是ISO-8859-1,所以导致RestTemplate请求的响应内容会出现中文乱码。
解决办法:
springboot中@Bean配置的时候要把StringHttpMessageConverter编码改成UTF8格式。:
@Bean
public RestTemplate restTemplate() {
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
return restTemplate;
}
在applicationContext.xml配置中:
<bean id="requestFactory" class="org.springframework.http.client.SimpleClientHttpRequestFactory">
<property name="readTimeout" value="10000"/>
<property name="connectTimeout" value="5000"/>
</bean>
<bean id="simpleRestTemplate" class="org.springframework.web.client.RestTemplate">
<constructor-arg ref="requestFactory"/>
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.FormHttpMessageConverter"/>
<bean class="org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter"/>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
推荐阅读
-
C++笔记之【Webservice通讯中文乱码】的那些事
-
fiddler使用方法之Fiddler显示IP,Fiddler中文乱码解决方法以及fiddler模拟发送get/post请求
-
Android开发之从服务器获取的数据为中文乱码的解决办法
-
spring mvc 中文乱码 @ResponseBody supportedMediaTypes
-
解决Spring MVC前台传参中文乱码问题
-
spring中form提交中文乱码解决方式
-
2018-08-14 中文代码之Spring Boot实现简单REST服务
-
2018-08-24 中文代码之Spring Boot对H2数据库简单查询
-
restTemplate 发送 MultiValueMap 中文乱码 (FormHttpMessageConverter 编码方式)
-
使用spring-android,RestTemplate乱码问题