[RESOLVIDO] Tratamento de acentos e ç em java

Olá Pessoal,

Estou com um método de envio de e-mail, usando setHtmlMsg para o corpo do e-mail.
Preciso fazer com que os ACENTOS e Ç apareçam direito no resultado.

Sugestões?

No geral e só colocar UTF-8, mas sem mostrar um trecho de código e meio difícil de ajudar.

Opa Henrique,
Eu consegui usando o replaceAll do String!
De qualquer forma obrigado!

1 curtida

@rcosta01 Não sei qua a solução que você fez com replaceAll, o mais provável foi a remoção de diacríticos, veja que isso é um xunxo.

O correto é definir o charset em uso, como @Henrique_Luiz_Silva disse.

Para mais detalhes olhe aqui: http://claudioweiler.blogspot.com.br/2012/06/enviando-e-mail-com-java.html

Vcs tem razão.

Mas como faço essa definição? é configuração na JVM? ou código na aplicação?

No link que passei tem a forma de uso. Lá está como ISO-8859-1, mas você pode trocar por UTF-8 ou utilizar o charset do sistema.

Eu consegui fazer com

descricao = Normalizer.normalize(descricao, Normalizer.Form.NFD);
textoFinal = descricao.replaceAll("[^\p{ASCII}]", “”);

meu problema agora é que quando o java lê da planilha os caracteres especiais ficam com um losango preto com “?” ao invés da letra.

CONSEGUI!

De fato o problema todo estava no charset.

Eu fiz diferente do que estava no seu link CWeiler.

Eu configurei a codificação direto no projeto para ISO-8859-1

netBeans: Botão direito no projeto > Propriedades > codificação.

Obrigado a todos!