Método getSubject - JAVAMAIL  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
leandroeschiavi
Thread.start()
[Avatar]

Membro desde: 18/04/2006 11:59:44
Mensagens: 34
Localização: São Paulo
Offline

Pessoal...

Estou retornando o método getSubject para dentro de uma String, porém, quando o campo assunto do e-mail possui encoding ISO-8859-1 ele traz exatamente o assunto no formato :

Previdiso-8859-1ncia Privada - Início de Miso-8859-1.

Como faço pra converter esse texto em :

Previdência Privada - Início Mês

Gravando assim de forma correta no arquivo texto ?

Grato...

Leandro Eschiavi
ORACLE CONSULTANT
Sun Certified Java Programmer 5.0
[MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

A codificação correta desse título em ISO-8859-1 seria algo parecido com:



onde a mensagem começa por "=?", é usado um "?Q?" (Quoted Printable) ou um "?B?" (Base-64) para indicar a codificação. No caso de ?Q?, cada letra acentuada é substituída pelo seu código hexadecimal, precedido por "=". Exemplo: "á" --> "=E1"

A aplicação que está enviando os emails está codificando incorretamente o título. Então não tem como você trocar "ISO-8859-1" pelos acentos (cadê a informação das letras acentuadas?). Se o título for corretamente codificado, o próprio JavaMail consegue decifrar o código para você.

[WWW]
leandroeschiavi
Thread.start()
[Avatar]

Membro desde: 18/04/2006 11:59:44
Mensagens: 34
Localização: São Paulo
Offline

Solução Encontrada :

String[] assunto = message.getHeader("Subject");
System.out.println(MimeUtility.decodeText(assunto[0]));

E pronto, o campo Subject vem de forma correta !

Abs...

Leandro Eschiavi
ORACLE CONSULTANT
Sun Certified Java Programmer 5.0
[MSN]
ruddypaz
What is classpath?

Membro desde: 22/08/2009 20:45:49
Mensagens: 6
Offline

leandroeschiavi wrote:Solução Encontrada :

String[] assunto = message.getHeader("Subject");
System.out.println(MimeUtility.decodeText(assunto[0]));

E pronto, o campo Subject vem de forma correta !

Abs...


Vlw kra, me ajudou mto...tava no cliente e não sabia pra onde correr, abração...fuiz!!!
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team