Fala Galera,
O tópico já da mais ou menos o que eu quero, estou tentando varrer uma String e trocar os caracteres especias ou com acentos por novas “String” digamos…
O conceito é que a URL não aceita palavra com acento e as codificam, já tentei usar o encode e decode, porem não tive exito, minha unica tentativa é trocar os caracteres, mas não estou conseguindo substituir, o caso é que preciso disso para acessar dados do WS.
Alguém poderia me ajudar ?
Abraços, e até mais.
pmlm
Fevereiro 19, 2016, 9:44pm
#2
Não se percebi o que queres… será isto ?
import java.net.URLEncoder;
...
String str = "Texto áéíóú";
String encoded = URLEncoder.encode(str, "UTF-8");
Isto não me ajudou amigo, o texto que a URL aceita é diferente do que o URLEncoder traz…
Queria substituir por código direto, por exemplo:
João virar Jo%C3%A3o, por que o url aceita,
portanto gostaria de sustituir o ‘ã’ por %C3%A3
Ev3rton
Fevereiro 19, 2016, 10:43pm
#4
Você poderia usar a classe java.net.URI e o método toASCIIString, como em:
new URI("João").toASCIIString();
O resultado seria:
Jo%C3%A3o
pmlm
Fevereiro 20, 2016, 12:03am
#5
John-Jones:
João virar Jo%C3%A3o, por que o url aceita,
portanto gostaria de sustituir o ‘ã’ por %C3%A3
Mas é exatamente isso que o URLEncoder faz!
String str = "João";
String encoded = URLEncoder.encode(str, "UTF-8");
System.out.println(str +" -> " + encoded);
Resultado:
João -> Jo%C3%A3o
Obrigado companheiro,
Já descobri o erro, a Classe Scanner tava mudando a conversão, mas já foi resolvido…
Mas me diga uma coisa…
Como eu trato os espaços em braco ??
ex: João Vitor ficaria Jo%C3%A3o%20Vitor, mas o programa me retorna Jo%C3%A3o+Vitor.
Desde Já Agradeço.
pmlm
Fevereiro 20, 2016, 12:52pm
#7
A forma correta de tratar os espaços em branco na submissão de dados é o +
O %20 apenas é usado na path do endereço.
Pois então, como é via WS, a url não entende o ‘+’, por isso quero trocar por %20.
Abraços.
Já resolvi aqui , Obrigado.
Quando você diz WS você se refere ao JAX-WS né?
Ele não lida bem com o + na url mesmo? Como você fez para resolver?
Na verdade só me referia a Web Service rs.
1 curtida