【问题标题】:Spring ClientHttpRequestInterceptor body encodingSpring ClientHttpRequestInterceptor 正文编码
【发布时间】:2014-04-16 10:45:21
【问题描述】:

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

我的问题与byte 内容的编码有关。它可以包含德语变音符号。字符串在传递给拦截器之前被正确编码。在拦截器方法中,我尝试使用new String(body) 解码正文,并将变音符号替换为�������� 之类的未知字符。

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

【问题讨论】:

    标签: java spring encoding character-encoding


    【解决方案1】:

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

    new String(body, "UTF-8")
    

    现在结果包含变音符号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      • 2019-08-11
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      相关资源
      最近更新 更多