Spring ClientHttpRequestInterceptor体编码

时间:2014-04-16 10:45:21

标签: java spring encoding character-encoding

我使用Spring 3.2.8 ClientHttpRequestInterceptor来修改RestTemplate发送的HTTP请求。通过重写方法intercept(HttpRequest, byte[], ClientHttpRequestExecution),我可以访问请求标头和正文。正文表示为byte数组。

我的问题是指byte内容的编码。它可以包含德国变音符号。字符串在传递给拦截器之前就是正确编码的。在拦截器方法中,我尝试使用new String(body)对身体进行解码,并使用未知字符替换变音符号��������

如何将变音符号保留在拦截器中以便正确编码请求?谢谢!

1 个答案:

答案 0 :(得分:0)

好的,解决方案非常简单。我必须强制byte数组中的UTF-8编码转换为String

new String(body, "UTF-8")

现在结果包含变音符号。