在Java中编码和解码Http请求

时间:2016-08-22 12:52:35

标签: javascript java encoding utf-8

我正在从JS向我的控制器(Spring MVC V3)发送一个参数。原来在数据传输过程中存在一些编码问题。 我的JS代码是 -

    var localUrl = "http://localhost:8080/TestFile/author.html?author="+encodeURI(author)

作者变量的值是 - Gilbert D'Mello

这是UTF-8编码的作者变量是 - 吉尔伯特%20D%E2%80%99Mello

在控制器中检索此参数时, 我收到的字符串是 - GilbertDÃÂÂÂMello

参数retreival的代码是 -

    java.net.URLDecoder.decode(((String[])request.getParameterMap().get("author"))[0], "UTF-8"));

我也尝试过使用request.setCharacterEncoding(“UTF-8”)但没有任何反应。

我无法正确编码/解码右引号。 请告诉我在哪里犯错误。

此致

Vibhav

1 个答案:

答案 0 :(得分:0)

问题是这有双重编码。一个是使用encodeURI(作者),另一个是浏览器的默认编码。