今天在做SpringBoot 的微服务时,在使用RestTemplate.PostForEntity请求时,RestControl接收参数时出现中文乱码问题,查看RestTemplate的源码发现,出现乱码的原因是RestTemplate的StringHttpMessageConverter的字符串处理时,使用的是ISO-8859-1编码,如果改成UTF-8就万事大吉了,所以我建议最简单粗暴的办法就是重写这个StringHttpMessageConverter类
public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");改成
public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");完事。当然也可以用配置文件去注入UTF-8的编码,但本人觉得麻烦,又要写XML配置文件,太繁琐,所以本人就重写类解决问题,经本人测试,完全没有问题。
本文介绍了解决SpringBoot微服务中使用RestTemplate时遇到的中文乱码问题。通过修改StringHttpMessageConverter类中的默认字符集为UTF-8来解决该问题。

3427

被折叠的 条评论
为什么被折叠?



