我使用Spring 3.2.8 ClientHttpRequestInterceptor
来修改RestTemplate
发送的HTTP请求。通过重写方法intercept(HttpRequest, byte[], ClientHttpRequestExecution)
,我可以访问请求标头和正文。正文表示为byte
数组。
我的问题是指byte
内容的编码。它可以包含德国变音符号。字符串在传递给拦截器之前就是正确编码的。在拦截器方法中,我尝试使用new String(body)
对身体进行解码,并使用未知字符替换变音符号��������
。
如何将变音符号保留在拦截器中以便正确编码请求?谢谢!
答案 0 :(得分:0)
好的,解决方案非常简单。我必须强制byte
数组中的UTF-8编码转换为String
:
new String(body, "UTF-8")
现在结果包含变音符号。