原文:http://blog.csdn.net/hongchangfirst/article/details/7962312
作者:hongchangfirst
因为RestTemplate类中的构造函数RestTemplate() 里
this.messageConverters.add(new StringHttpMessageConverter());
这句中StringHttpMessageConverter的这个类,默认是ISO-8859-1:
public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");
解决方法:
把StringHttpMessageConverter这个类的源码中的
Charset.forName("ISO-8859-1");
改为
Charset.forName("utf-8");
编译后重新放在org.springframework.web-3.0.5.RELEASE.jar中即可
还有另外一种方式,使用配置方式,在你你的sping-servlet.xml中写入:
‘<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
<property name="messageConverters">
<list>
<bean class = "org.springframework.http.converter.StringHttpMessageConverter">
<property name = "supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
这样子服务器端的spring编码方式就是utf-8了。