Decodificação / codificação de URL UTF-8
Instruo meu URL para enviar uma solicitação do Ajax assim:
url += '/' + something + '/' + id;
var response;
$.ajax({
async : false,
type: 'DELETE',
url: url,
...
MinhasremoveId
é uma variável que inclui o caractere UTF-8. Vou lidar com essa variável no lado Java assim:
@RequestMapping(value = "/something/{id}", method = RequestMethod.DELETE)
public void myMethod(HttpServletResponse response, @PathVariable String id) {
...
Contudoid
variável @ no lado Java é diferente da original porque os caracteres UTF-8 mudam para coisas estranha
Como posso enviar caracteres UTF-8 do lado do JavaScript e transformá-lo novamente no meu lado Java (primavera 3 com REST, meu servidor da web é o Tomcat 7
PS 1: Mesmo eu não usoencodeUriComponent
parece que minha URL está codificando sozinha?
PS 2: Para tornar a pergunta mais clara:
i.e. my id variable is araç and sent URL is: localhost:8080/sdfasf/ara%C3%A7
Quando vejo que a variável id tem esse valor:
araç
ao invés de
ara%C3%A7
O Spring (ou Tomcat) faz isso automaticamente? Existe alguma maneira de decodificá-lo automaticamente quando se trata de controlador como uma variável de caminho (quero dizer, sem escrever nada com
URLDecoder.decode(id,"UTF-8");
é convertido automaticamente)