UTF-8 网址解码/编码
我指示我的URL发送一个Ajax请求,如下所示:
url += '/' + something + '/' + id;
var response;
$.ajax({
async : false,
type: 'DELETE',
url: url,
...
My 是一个包含 UTF-8 字符的变量。我将像这样在Java端处理该变量:removeId
@RequestMapping(value = "/something/{id}", method = RequestMethod.DELETE)
public void myMethod(HttpServletResponse response, @PathVariable String id) {
...
然而,Java端的变量与其原始版本不同,因为UTF-8字符会变成奇怪的东西。id
我如何从JavaScript端发送UTF-8字符,并在我的Java端再次转换它(Spring 3与REST,我的Web服务器是Tomcat 7)?
PS 1:即使我不使用它似乎我的URL正在自行编码?encodeUriComponent
PS 2:为了使问题更清晰:
i.e. my id variable is araç and sent URL is: localhost:8080/sdfasf/ara%C3%A7
当我看到id变量具有该值时:
araç
而不是:
ara%C3%A7
Spring(或Tomcat)会自动这样做吗?当涉及到控制器作为路径变量时,有没有办法自动解码它(我的意思是不写任何东西,
URLDecoder.decode(id,"UTF-8");
它将自动转换)