Pergunta

Eu tenho um campo de entrada HTML ligada a um botão com uma função onclick em javascript que pode passar o valor campo de texto para um campo de texto de outra página. Ao passar os valores de uma página para outra através de uma solicitação URL de uma JSP, eu descobri que codificar os valores com encodeURI() fica:

  • £ -> Â £ (2 sinais !!)
  • O -> ö (2 sinais !!)

Quando eu uso Javscript escape() eu recebo as codificações adequadas, mas, infelizmente, o sinal + desapareceria. É há melhor solução para ter algum tipo de codificação estável de personagens?

Foi útil?

Solução

codifica encodeURI() usando codificação UTF-8, que é por isso que você vê os dois sinais para codificar um caracteres (é normal).

Se você quiser usar fuga e ainda manter o sinal +, você pode usar o seguinte:

function mod_escape(value) {
  value = escape(value);
  return value.replace(/\+/g, '%2B');
}

Outras dicas

Eu acho que você deve usar encodeURIComponent () em cada tecla única = par de valor e decodeURIComponent na segunda página para cada par key = value.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top