Eu já tive um problema igual.
Aqui está a solução. Acho que não precisa de synchronized. Você precisa substituir suas letras com acento por “tags html”. Use o método da seguinte forma:
edit: Se você quiser uma solução “mais profissional” utilize uma biblioteca do apache commons se eu não me engano. Eu não recordo o nome mas se vc acha que a solução abaixo não presta, por favor avise que eu vasculho aqui.
edit2: O FORUM ESTA ALTERANDO O CODIGO FONTE(SUBSTITUINDO O TEXTO POR HTML). Tive de remover a tag “code”.
edit3: Cara não tem como eu te passar esse código fonte, a engine do forum insiste em interpretar o código fonte. Coloquei a tag “code” de volta para não machucar o olho de ningúem.
mas pense que o código real é “letra com acento -> representação em html daquela letra” (que é algo tipo &a|acute;"(NAO TEM O PIPE( | ), coloquei ele pra ele n causa no meu código)
EDIT FINAL: Clique em copy to clipboard que vocẽ ira copiar o código certo
eMail = HtmlReplacer.replace(eMail);
[code]
public class HtmlReplacer {
public static String replace(String saida){
saida = saida.replace("á", "á");
saida = saida.replace("â", "â");
saida = saida.replace("à", "à");
saida = saida.replace("ã", "ã" );
saida = saida.replace("ç", "ç");
saida = saida.replace("é", "é");
saida = saida.replace("ê", "ê");
saida = saida.replace("í", "í");
saida = saida.replace("ó", "ó");
saida = saida.replace("ô", "ô");
saida = saida.replace("õ", "õ");
saida = saida.replace("ú", "ú");
saida = saida.replace("ü", "ü");
saida = saida.replace("Á", "Á");
saida = saida.replace("Â", "Â");
saida = saida.replace("À", "À");
saida = saida.replace("Ã", "Ã" );
saida = saida.replace("Ç", "Ç");
saida = saida.replace("É", "É");
saida = saida.replace("Ê", "Ê");
saida = saida.replace("Í", "Í");
saida = saida.replace("Ó", "Ó");
saida = saida.replace("Ô", "Ô");
saida = saida.replace("Õ", "Õ");
saida = saida.replace("Ú", "Ú");
saida = saida.replace("Ü", "Ü");
return saida;
}
} [/code]