我正在从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
答案 0 :(得分:0)
问题是这有双重编码。一个是使用encodeURI(作者),另一个是浏览器的默认编码。